Add NotenButton
Update Main
This commit is contained in:
@@ -10,7 +10,7 @@ android {
|
||||
defaultConfig {
|
||||
applicationId = "com.schoolapp.cleverclass"
|
||||
minSdk = 26
|
||||
targetSdk = 33
|
||||
targetSdk = 34
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.schoolapp.cleverclass
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
@@ -12,11 +14,18 @@ import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Add
|
||||
import androidx.compose.material.icons.filled.ArrowBack
|
||||
import androidx.compose.material.icons.filled.Close
|
||||
import androidx.compose.material.icons.filled.KeyboardArrowDown
|
||||
import androidx.compose.material.icons.filled.KeyboardArrowUp
|
||||
import androidx.compose.material3.BottomAppBar
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.DropdownMenu
|
||||
import androidx.compose.material3.DropdownMenuItem
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.FloatingActionButton
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
@@ -26,10 +35,17 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment.Companion.CenterVertically
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
||||
import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton
|
||||
|
||||
class FachActivity : ComponentActivity() {
|
||||
companion object {
|
||||
@@ -96,20 +112,133 @@ fun FachContent(activity: ComponentActivity, name : String){
|
||||
Spacer(modifier = Modifier.width(16.dp))
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
floatingActionButton = {
|
||||
FloatingActionButton(onClick = { /*TODO*/ },
|
||||
shape = RoundedCornerShape(40)
|
||||
) {
|
||||
Icon(imageVector = Icons.Filled.Add,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(32.dp))
|
||||
}}
|
||||
) {innerPadding ->
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(innerPadding))
|
||||
{
|
||||
NotenPrefab()
|
||||
NotenPrefab()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
fun NotenPrefab(){
|
||||
Button(onClick = { /*TODO*/ }) {
|
||||
Text(text = "hehe")
|
||||
val color = Color(0xFFB2FF59)
|
||||
var typeExpanded by remember {
|
||||
mutableStateOf(false)
|
||||
}
|
||||
}
|
||||
var gradeExpanded by remember {
|
||||
mutableStateOf(false)
|
||||
}
|
||||
var weightExpanded by remember {
|
||||
mutableStateOf(false)
|
||||
}
|
||||
|
||||
// Background
|
||||
Surface(
|
||||
shape = RoundedCornerShape(20),
|
||||
color = color,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(128.dp)
|
||||
.padding(start = 16.dp, end = 16.dp, top = 16.dp)
|
||||
) {
|
||||
// Content
|
||||
Column(modifier = Modifier.padding(16.dp)) {
|
||||
Row {
|
||||
// Type
|
||||
Surface(
|
||||
shape = RoundedCornerShape(10),
|
||||
color = color,
|
||||
border = BorderStroke(2.dp, TextOnColouredButton),
|
||||
modifier = Modifier
|
||||
.size(width = 128.dp, height = 32.dp)
|
||||
.clickable { typeExpanded = !typeExpanded }
|
||||
) {
|
||||
Row(verticalAlignment = CenterVertically,
|
||||
modifier = Modifier.padding(4.dp)) {
|
||||
Text(text = "Typ", color = TextOnColouredButton, style = MaterialTheme.typography.labelMedium)
|
||||
DropdownMenu(expanded = typeExpanded, onDismissRequest = { typeExpanded = false }) {
|
||||
DropdownMenuItem(text = { Text(text = "Test") }, onClick = { /*TODO*/ })
|
||||
}
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Icon(imageVector = if (typeExpanded) Icons.Filled.KeyboardArrowUp else Icons.Filled.KeyboardArrowDown,
|
||||
contentDescription = null,
|
||||
tint = TextOnColouredButton)
|
||||
}
|
||||
}
|
||||
// Delete
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Icon(
|
||||
imageVector = Icons.Filled.Close,
|
||||
contentDescription = null,
|
||||
tint = TextOnColouredButton,
|
||||
modifier = Modifier
|
||||
.size(28.dp)
|
||||
.clickable { /*TODO*/ }
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
|
||||
Row (verticalAlignment = CenterVertically) {
|
||||
// Grade
|
||||
Text(text = "Note:", color = TextOnColouredButton, style = MaterialTheme.typography.labelMedium)
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
Surface(
|
||||
shape = RoundedCornerShape(10),
|
||||
color = color,
|
||||
border = BorderStroke(2.dp, TextOnColouredButton),
|
||||
modifier = Modifier
|
||||
.size(width = 48.dp, height = 32.dp)
|
||||
.clickable { gradeExpanded = !gradeExpanded }
|
||||
) {
|
||||
Row(verticalAlignment = CenterVertically,
|
||||
modifier = Modifier.padding(4.dp)) {
|
||||
Text(text = "1", color = TextOnColouredButton, style = MaterialTheme.typography.labelMedium)
|
||||
DropdownMenu(expanded = gradeExpanded, onDismissRequest = { gradeExpanded = false }) {
|
||||
DropdownMenuItem(text = { Text(text = "Test") }, onClick = { /*TODO*/ })
|
||||
}
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Icon(imageVector = if (gradeExpanded) Icons.Filled.KeyboardArrowUp else Icons.Filled.KeyboardArrowDown, contentDescription = null, tint = TextOnColouredButton)
|
||||
}
|
||||
}
|
||||
// Weight
|
||||
Spacer(modifier = Modifier.width(16.dp))
|
||||
Text(text = "Gewichtung:", color = TextOnColouredButton, style = MaterialTheme.typography.labelMedium)
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
Surface(
|
||||
shape = RoundedCornerShape(10),
|
||||
color = color,
|
||||
border = BorderStroke(2.dp, TextOnColouredButton),
|
||||
modifier = Modifier
|
||||
.size(width = 64.dp, height = 32.dp)
|
||||
.clickable { weightExpanded = !weightExpanded }
|
||||
) {
|
||||
Row(verticalAlignment = CenterVertically,
|
||||
modifier = Modifier.padding(4.dp)) {
|
||||
Text(text = "1x", color = TextOnColouredButton, style = MaterialTheme.typography.labelMedium)
|
||||
DropdownMenu(expanded = weightExpanded, onDismissRequest = { weightExpanded = false }) {
|
||||
DropdownMenuItem(text = { Text(text = "Test") }, onClick = { /*TODO*/ })
|
||||
}
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Icon(imageVector = if (weightExpanded) Icons.Filled.KeyboardArrowUp else Icons.Filled.KeyboardArrowDown, contentDescription = null, tint = TextOnColouredButton)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
||||
import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton
|
||||
@@ -47,7 +46,7 @@ class MainActivity : ComponentActivity() {
|
||||
CleverClassTheme {
|
||||
Surface(modifier = Modifier.fillMaxSize(),
|
||||
color = MaterialTheme.colorScheme.background) {
|
||||
MainContent()
|
||||
MainContent(activity = this)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -58,9 +57,8 @@ class MainActivity : ComponentActivity() {
|
||||
// Content of Main-screen
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun MainContent(){
|
||||
val context = LocalContext.current
|
||||
val sharedPreferences = context.getSharedPreferences("Settings", Context.MODE_PRIVATE)
|
||||
fun MainContent(activity: ComponentActivity){
|
||||
val sharedPreferences = activity.getSharedPreferences("Settings", Context.MODE_PRIVATE)
|
||||
|
||||
Column{
|
||||
TopAppBar(
|
||||
@@ -72,7 +70,7 @@ fun MainContent(){
|
||||
},
|
||||
actions = {
|
||||
IconButton(
|
||||
onClick = { switchToActivity(context, SettingsActivity::class.java) }) {
|
||||
onClick = { switchToActivity(activity, SettingsActivity::class.java) }) {
|
||||
Icon(
|
||||
imageVector = Icons.Filled.Settings,
|
||||
contentDescription = null,
|
||||
@@ -83,9 +81,9 @@ fun MainContent(){
|
||||
)
|
||||
|
||||
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
|
||||
MainButton(onClick = { switchToActivity(context, StundenplanActivity::class.java) }, color = Color(0xFFFF4081), text = "Stundenplan", sharedPreferences)
|
||||
MainButton(onClick = { switchToActivity(context, NotenActivity::class.java) }, color = Color(0xFFFFAB40), text = "Noten", sharedPreferences)
|
||||
MainButton(onClick = { switchToActivity(context, PSEActivity::class.java) }, color = Color(0xFF536DFE), text = "Periodensystem", sharedPreferences)
|
||||
MainButton(onClick = { switchToActivity(activity, StundenplanActivity::class.java) }, color = Color(0xFFFF4081), text = "Stundenplan", sharedPreferences)
|
||||
MainButton(onClick = { switchToActivity(activity, NotenActivity::class.java) }, color = Color(0xFFFFAB40), text = "Noten", sharedPreferences)
|
||||
MainButton(onClick = { switchToActivity(activity, PSEActivity::class.java) }, color = Color(0xFF536DFE), text = "Periodensystem", sharedPreferences)
|
||||
MainButton(onClick = { /*TODO: Mebis activity*/ }, color = Color(0xFFE040FB), text = "Mebis", sharedPreferences)
|
||||
MainButton(onClick = { /*TODO: DSBmobile activity*/ }, color = Color(0xFFFF6E40), text = "DSBmobile", sharedPreferences)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user