Add NotenActivity
Add basic functions for NotenActivity Some other small changes
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools" >
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
@@ -11,7 +11,22 @@
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.CleverClass"
|
||||
tools:targetApi="31" >
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".FachActivity"
|
||||
android:exported="false"
|
||||
android:label="@string/title_activity_fach"
|
||||
android:theme="@style/Theme.CleverClass" />
|
||||
<activity
|
||||
android:name=".NotenActivity"
|
||||
android:exported="false"
|
||||
android:label="@string/title_activity_noten"
|
||||
android:theme="@style/Theme.CleverClass" />
|
||||
<activity
|
||||
android:name=".StundenplanActivity"
|
||||
android:exported="false"
|
||||
android:label="@string/title_activity_stundenplan"
|
||||
android:theme="@style/Theme.CleverClass" />
|
||||
<activity
|
||||
android:name=".AboutActivity"
|
||||
android:exported="false"
|
||||
@@ -31,7 +46,7 @@
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/Theme.CleverClass" >
|
||||
android:theme="@style/Theme.CleverClass">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
|
||||
115
app/src/main/java/com/schoolapp/cleverclass/FachActivity.kt
Normal file
115
app/src/main/java/com/schoolapp/cleverclass/FachActivity.kt
Normal file
@@ -0,0 +1,115 @@
|
||||
package com.schoolapp.cleverclass
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
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.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.ArrowBack
|
||||
import androidx.compose.material3.BottomAppBar
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment.Companion.CenterVertically
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
||||
|
||||
class FachActivity : ComponentActivity() {
|
||||
companion object {
|
||||
const val ARGUMENT_KEY = "argument_key"
|
||||
}
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
// get subject argument from NotenActivity
|
||||
val name = intent.getStringExtra(ARGUMENT_KEY) ?: "missing subject"
|
||||
|
||||
setContent {
|
||||
CleverClassTheme {
|
||||
Surface(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
color = MaterialTheme.colorScheme.background
|
||||
) {
|
||||
FachContent(activity = this, name = name)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun FachContent(activity: ComponentActivity, name : String){
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBar(
|
||||
colors = TopAppBarDefaults.centerAlignedTopAppBarColors(MaterialTheme.colorScheme.primaryContainer),
|
||||
title = {
|
||||
Text(text = name,
|
||||
style = MaterialTheme.typography.headlineSmall
|
||||
)},
|
||||
navigationIcon = {
|
||||
IconButton(onClick = { activity.finish() }) {
|
||||
Icon(
|
||||
imageVector = Icons.Filled.ArrowBack,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(28.dp)
|
||||
)
|
||||
}
|
||||
},
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
)
|
||||
},
|
||||
bottomBar = {
|
||||
BottomAppBar(
|
||||
containerColor = MaterialTheme.colorScheme.primaryContainer,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(64.dp)
|
||||
) {
|
||||
Row (modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.align(CenterVertically)){
|
||||
Spacer(modifier = Modifier.width(16.dp))
|
||||
Text(text = "Schnitt:",
|
||||
style = MaterialTheme.typography.headlineSmall)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Text(text = "Ø0.00",
|
||||
style = MaterialTheme.typography.headlineSmall)
|
||||
Spacer(modifier = Modifier.width(16.dp))
|
||||
}
|
||||
}
|
||||
}
|
||||
) {innerPadding ->
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(innerPadding))
|
||||
{
|
||||
NotenPrefab()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun NotenPrefab(){
|
||||
Button(onClick = { /*TODO*/ }) {
|
||||
Text(text = "hehe")
|
||||
}
|
||||
}
|
||||
@@ -38,6 +38,7 @@ 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
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@@ -82,8 +83,8 @@ fun MainContent(){
|
||||
)
|
||||
|
||||
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
|
||||
MainButton(onClick = { /*TODO: Stundenplan activity*/ }, color = Color(0xFFFF4081), text = "Stundenplan", sharedPreferences)
|
||||
MainButton(onClick = { /*TODO: Noten activity*/ }, color = Color(0xFFFFAB40), text = "Noten", sharedPreferences)
|
||||
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 = { /*TODO: Mebis activity*/ }, color = Color(0xFFE040FB), text = "Mebis", sharedPreferences)
|
||||
MainButton(onClick = { /*TODO: DSBmobile activity*/ }, color = Color(0xFFFF6E40), text = "DSBmobile", sharedPreferences)
|
||||
@@ -109,8 +110,8 @@ fun MainButton(onClick: () -> Unit, color : Color, text : String, sharedPreferen
|
||||
.height(if (enabledState) 128.dp else 0.dp)
|
||||
.padding(start = 16.dp, end = 16.dp, top = 16.dp)
|
||||
) {
|
||||
Text(text,
|
||||
color = MaterialTheme.colorScheme.background,
|
||||
Text(text = text,
|
||||
color = TextOnColouredButton,
|
||||
style = MaterialTheme.typography.labelMedium)
|
||||
}
|
||||
|
||||
|
||||
109
app/src/main/java/com/schoolapp/cleverclass/NotenActivity.kt
Normal file
109
app/src/main/java/com/schoolapp/cleverclass/NotenActivity.kt
Normal file
@@ -0,0 +1,109 @@
|
||||
package com.schoolapp.cleverclass
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.ArrowBack
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
||||
import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton
|
||||
|
||||
class NotenActivity : ComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContent {
|
||||
CleverClassTheme {
|
||||
Surface(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
color = MaterialTheme.colorScheme.background
|
||||
) {
|
||||
NotenContent(activity = this)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Content of Noten
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun NotenContent(activity: ComponentActivity){
|
||||
Column() {
|
||||
TopAppBar(
|
||||
colors = TopAppBarDefaults.centerAlignedTopAppBarColors(MaterialTheme.colorScheme.primaryContainer),
|
||||
title = {
|
||||
Text(text = "Noten",
|
||||
style = MaterialTheme.typography.headlineSmall
|
||||
)},
|
||||
navigationIcon = {
|
||||
IconButton(onClick = { activity.finish() }) {
|
||||
Icon(
|
||||
imageVector = Icons.Filled.ArrowBack,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(28.dp)
|
||||
)
|
||||
}
|
||||
},
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
)
|
||||
|
||||
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
|
||||
FachButton(color = Color(0xFF69F0AE), text = "Deutsch", 3.66f, activity)
|
||||
FachButton(color = Color(0xFFEEFF41), text = "Mathe", 1.56f, activity)
|
||||
FachButton(color = Color(0xFFFFAB40), text = "Englisch", 2.27f, activity)
|
||||
FachButton(color = Color(0xFF18FFFF), text = "Latein", 4.75f, activity)
|
||||
FachButton(color = Color(0xFFB2FF59), text = "Französisch", 2.33f, activity)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun FachButton(color : Color, text : String, average : Float, activity : ComponentActivity){
|
||||
Button(
|
||||
onClick = {
|
||||
val intent = Intent(activity, FachActivity::class.java).apply { putExtra(FachActivity.ARGUMENT_KEY, text) }
|
||||
activity.startActivity(intent) },
|
||||
shape = RoundedCornerShape(40),
|
||||
colors = ButtonDefaults.outlinedButtonColors(containerColor = color),
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(64.dp)
|
||||
.padding(start = 16.dp, end = 16.dp, top = 16.dp)
|
||||
) {
|
||||
Row(modifier = Modifier.fillMaxWidth()) {
|
||||
Text(text = text,
|
||||
color = TextOnColouredButton,
|
||||
style = MaterialTheme.typography.labelMedium)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Text(text = "Ø$average",
|
||||
color = TextOnColouredButton,
|
||||
style = MaterialTheme.typography.labelMedium)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.schoolapp.cleverclass
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.ArrowBack
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
|
||||
|
||||
class StundenplanActivity : ComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContent {
|
||||
CleverClassTheme {
|
||||
Surface(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
color = MaterialTheme.colorScheme.background
|
||||
) {
|
||||
StundenplanContent(activity = this)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Content of Stundenplan
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun StundenplanContent(activity: ComponentActivity){
|
||||
Column() {
|
||||
TopAppBar(
|
||||
colors = TopAppBarDefaults.centerAlignedTopAppBarColors(MaterialTheme.colorScheme.primaryContainer),
|
||||
title = {
|
||||
Text(text = "Stundenplan",
|
||||
style = MaterialTheme.typography.headlineSmall
|
||||
)},
|
||||
navigationIcon = {
|
||||
IconButton(onClick = { activity.finish() }) {
|
||||
Icon(
|
||||
imageVector = Icons.Filled.ArrowBack,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(28.dp)
|
||||
)
|
||||
}
|
||||
},
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
)
|
||||
|
||||
Column() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,9 +3,11 @@ package com.schoolapp.cleverclass.ui.theme
|
||||
import androidx.compose.ui.graphics.Color
|
||||
|
||||
val Black100 = Color(0xFF000000)
|
||||
val Black90 = Color(0xFF141414)
|
||||
val Black70 = Color(0xFF1F1F1F)
|
||||
val Black90 = Color(0xFF1F1F1F)
|
||||
val Black70 = Color(0xFF333333)
|
||||
|
||||
val White100 = Color(0xFFFFFFFF)
|
||||
val White90 = Color(0xFFEBEBEB)
|
||||
val White70 = Color(0xFFE0E0E0)
|
||||
val White70 = Color(0xFFD3D3D3)
|
||||
|
||||
val TextOnColouredButton = Color(0xFF121212)
|
||||
@@ -50,7 +50,7 @@ fun CleverClassTheme(
|
||||
if (!view.isInEditMode) {
|
||||
SideEffect {
|
||||
val window = (view.context as Activity).window
|
||||
window.statusBarColor = colorScheme.primaryContainer.toArgb()
|
||||
window.statusBarColor = Black70.toArgb()
|
||||
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,7 @@
|
||||
<string name="title_activity_pseactivity">PSEActivity</string>
|
||||
<string name="title_activity_settings">SettingsActivity</string>
|
||||
<string name="title_activity_about">AboutActivity</string>
|
||||
<string name="title_activity_stundenplan">StundenplanActivity</string>
|
||||
<string name="title_activity_noten">NotenActivity</string>
|
||||
<string name="title_activity_fach">FachActivity</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user