Add NotenButton
Update Main
This commit is contained in:
@@ -10,7 +10,7 @@ android {
|
|||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "com.schoolapp.cleverclass"
|
applicationId = "com.schoolapp.cleverclass"
|
||||||
minSdk = 26
|
minSdk = 26
|
||||||
targetSdk = 33
|
targetSdk = 34
|
||||||
versionCode = 1
|
versionCode = 1
|
||||||
versionName = "1.0"
|
versionName = "1.0"
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package com.schoolapp.cleverclass
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.activity.compose.setContent
|
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.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
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.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material.icons.Icons
|
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.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.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.ExperimentalMaterial3Api
|
||||||
|
import androidx.compose.material3.FloatingActionButton
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
@@ -26,10 +35,17 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.material3.TopAppBar
|
import androidx.compose.material3.TopAppBar
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
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.Alignment.Companion.CenterVertically
|
||||||
import androidx.compose.ui.Modifier
|
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 androidx.compose.ui.unit.dp
|
||||||
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
||||||
|
import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton
|
||||||
|
|
||||||
class FachActivity : ComponentActivity() {
|
class FachActivity : ComponentActivity() {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -96,20 +112,133 @@ fun FachContent(activity: ComponentActivity, name : String){
|
|||||||
Spacer(modifier = Modifier.width(16.dp))
|
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 ->
|
) {innerPadding ->
|
||||||
Column(modifier = Modifier
|
Column(modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(innerPadding))
|
.padding(innerPadding))
|
||||||
{
|
{
|
||||||
NotenPrefab()
|
NotenPrefab()
|
||||||
|
NotenPrefab()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
fun NotenPrefab(){
|
fun NotenPrefab(){
|
||||||
Button(onClick = { /*TODO*/ }) {
|
val color = Color(0xFFB2FF59)
|
||||||
Text(text = "hehe")
|
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.runtime.setValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalContext
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
||||||
import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton
|
import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton
|
||||||
@@ -47,7 +46,7 @@ class MainActivity : ComponentActivity() {
|
|||||||
CleverClassTheme {
|
CleverClassTheme {
|
||||||
Surface(modifier = Modifier.fillMaxSize(),
|
Surface(modifier = Modifier.fillMaxSize(),
|
||||||
color = MaterialTheme.colorScheme.background) {
|
color = MaterialTheme.colorScheme.background) {
|
||||||
MainContent()
|
MainContent(activity = this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -58,9 +57,8 @@ class MainActivity : ComponentActivity() {
|
|||||||
// Content of Main-screen
|
// Content of Main-screen
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun MainContent(){
|
fun MainContent(activity: ComponentActivity){
|
||||||
val context = LocalContext.current
|
val sharedPreferences = activity.getSharedPreferences("Settings", Context.MODE_PRIVATE)
|
||||||
val sharedPreferences = context.getSharedPreferences("Settings", Context.MODE_PRIVATE)
|
|
||||||
|
|
||||||
Column{
|
Column{
|
||||||
TopAppBar(
|
TopAppBar(
|
||||||
@@ -72,7 +70,7 @@ fun MainContent(){
|
|||||||
},
|
},
|
||||||
actions = {
|
actions = {
|
||||||
IconButton(
|
IconButton(
|
||||||
onClick = { switchToActivity(context, SettingsActivity::class.java) }) {
|
onClick = { switchToActivity(activity, SettingsActivity::class.java) }) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Filled.Settings,
|
imageVector = Icons.Filled.Settings,
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
@@ -83,9 +81,9 @@ fun MainContent(){
|
|||||||
)
|
)
|
||||||
|
|
||||||
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
|
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
|
||||||
MainButton(onClick = { switchToActivity(context, StundenplanActivity::class.java) }, color = Color(0xFFFF4081), text = "Stundenplan", sharedPreferences)
|
MainButton(onClick = { switchToActivity(activity, 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(activity, 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, PSEActivity::class.java) }, color = Color(0xFF536DFE), text = "Periodensystem", sharedPreferences)
|
||||||
MainButton(onClick = { /*TODO: Mebis activity*/ }, color = Color(0xFFE040FB), text = "Mebis", sharedPreferences)
|
MainButton(onClick = { /*TODO: Mebis activity*/ }, color = Color(0xFFE040FB), text = "Mebis", sharedPreferences)
|
||||||
MainButton(onClick = { /*TODO: DSBmobile activity*/ }, color = Color(0xFFFF6E40), text = "DSBmobile", sharedPreferences)
|
MainButton(onClick = { /*TODO: DSBmobile activity*/ }, color = Color(0xFFFF6E40), text = "DSBmobile", sharedPreferences)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user