diff --git a/app/src/main/java/es/fpsumma/dam2/intro/MainActivity.kt b/app/src/main/java/es/fpsumma/dam2/intro/MainActivity.kt index 0462544..5d5f7f2 100644 --- a/app/src/main/java/es/fpsumma/dam2/intro/MainActivity.kt +++ b/app/src/main/java/es/fpsumma/dam2/intro/MainActivity.kt @@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.ui.Modifier -import com.ivancorrales.basicjetpackcompose.ui.theme.IntroTheme +import es.fpsumma.dam2.intro.ui.theme.IntroTheme import es.fpsumma.dam2.intro.ui.screens.CounterScreen class MainActivity : ComponentActivity() { diff --git a/app/src/main/java/es/fpsumma/dam2/intro/ui/screens/CounterScreen.kt b/app/src/main/java/es/fpsumma/dam2/intro/ui/screens/CounterScreen.kt index 404c688..46355ca 100644 --- a/app/src/main/java/es/fpsumma/dam2/intro/ui/screens/CounterScreen.kt +++ b/app/src/main/java/es/fpsumma/dam2/intro/ui/screens/CounterScreen.kt @@ -1,10 +1,13 @@ package es.fpsumma.dam2.intro.ui.screens +import android.graphics.Color +import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Refresh import androidx.compose.material3.* +import androidx.compose.material3.FilledTonalButton import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -12,12 +15,13 @@ import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import es.fpsumma.dam2.intro.ui.theme.IntroTheme @Composable fun CounterScreen() { - var count by remember { mutableStateOf(0) } - + var count by remember { mutableStateOf(5) } + var user : String="Raúl"; Column( modifier = Modifier .fillMaxSize() @@ -25,29 +29,50 @@ fun CounterScreen() { horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(16.dp) ) { - Text("Hola mi amig@!", style = MaterialTheme.typography.headlineMedium) + Text("Hola $user!", style = MaterialTheme.typography.headlineMedium) Text("Contador: $count", style = MaterialTheme.typography.titleLarge) Row(horizontalArrangement = Arrangement.spacedBy(12.dp)) { - Button( - onClick = {}, - modifier = Modifier.semantics { contentDescription = "Incrementar" } - ) { Text("+1") } - - FilledTonalButton( - onClick = {}, - modifier = Modifier.semantics { contentDescription = "Decrementar" } - ) { Text("-1") } - - IconButton( - onClick = {}, - modifier = Modifier.size(48.dp) - ) { - Icon(Icons.Outlined.Refresh, contentDescription = "Reiniciar contador") - } + IntroTheme{ + Button( + onClick = { count = count + 1 }, + modifier = Modifier.semantics { contentDescription = "Incrementar" }, + colors = ButtonDefaults.buttonColors( + containerColor = Color.(0xFF5DFF00), + ), + ) { Text("+1") } + + FilledTonalButton( + onClick = { + if (count > 0) { + count = count - 1 + } + }, + modifier = Modifier.semantics { contentDescription = "Decrementar" } + ) { Text("-1") }} + IconButton( + onClick = { count = 0 }, + modifier = Modifier.size(48.dp) + ) { + Icon(Icons.Outlined.Refresh, contentDescription = "Reiniciar contador") + + } + Button( + modifier = Modifier.width((100 + count * 10).dp.coerceAtMost(500.dp)), + content = {}, + ) + + } } } + + +@Composable +fun IntoTheme(content: @Composable () -> Unit) { + TODO("Not yet implemented") +} + @Preview(showBackground = true) @Composable private fun CounterPreview() { diff --git a/app/src/main/java/es/fpsumma/dam2/intro/ui/screens/InputDemoScreen.kt b/app/src/main/java/es/fpsumma/dam2/intro/ui/screens/InputDemoScreen.kt index c11ccc9..ee0433e 100644 --- a/app/src/main/java/es/fpsumma/dam2/intro/ui/screens/InputDemoScreen.kt +++ b/app/src/main/java/es/fpsumma/dam2/intro/ui/screens/InputDemoScreen.kt @@ -1,5 +1,6 @@ package es.fpsumma.dam2.intro.ui.screens + import androidx.compose.foundation.layout.* import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions @@ -16,12 +17,12 @@ import androidx.compose.ui.unit.dp fun InputDemoScreen() { val focusManager = LocalFocusManager.current - var name by rememberSaveable { mutableStateOf("") } + var user by rememberSaveable { mutableStateOf("") } var greeting by remember { mutableStateOf(null) } // Calcula el error en función del texto (sin estado extra) Pista -> derivedStateOf // TODO: valida name: no vacío, mínimo 3 caracteres (trim). - val error: String? by remember(name) { + val error: String? by remember(user) { derivedStateOf { null } @@ -29,15 +30,15 @@ fun InputDemoScreen() { fun submit() { if (error == null) { - greeting = "Hola, 👋" + greeting = "Hola, $user 👋" focusManager.clearFocus() } } Column(Modifier.fillMaxSize().padding(24.dp)) { OutlinedTextField( - value = name, - onValueChange = { name = it }, + value = user, + onValueChange = { user = it }, label = { Text("Tu nombre") }, isError = error != null, supportingText = { if (error != null) Text(error!!) }, @@ -54,7 +55,7 @@ fun InputDemoScreen() { Text("Saludar") } Spacer(Modifier.height(16.dp)) - if (error == null && name.isNotBlank()) { + if (error == null && user.isNotBlank()) { Text(greeting?: "" ) } } diff --git a/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Color.kt b/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Color.kt index c45da49..9549b2a 100644 --- a/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Color.kt +++ b/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Color.kt @@ -1,4 +1,4 @@ -package com.ivancorrales.basicjetpackcompose.ui.theme +package es.fpsumma.dam2.intro.ui.theme import androidx.compose.ui.graphics.Color @@ -8,4 +8,6 @@ val Pink80 = Color(0xFFEFB8C8) val Purple40 = Color(0xFF6650a4) val PurpleGrey40 = Color(0xFF625b71) -val Pink40 = Color(0xFF7D5260) \ No newline at end of file +val Pink40 = Color(0xFF7D5260) + +val Green = Color(0xFF5DFF00) \ No newline at end of file diff --git a/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Theme.kt b/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Theme.kt index cb6c5d5..fecc0be 100644 --- a/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Theme.kt +++ b/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Theme.kt @@ -1,8 +1,6 @@ -package com.ivancorrales.basicjetpackcompose.ui.theme +package es.fpsumma.dam2.intro.ui.theme -import android.app.Activity import android.os.Build -import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.ColorScheme import androidx.compose.material3.MaterialTheme import androidx.compose.material3.darkColorScheme @@ -10,19 +8,17 @@ import androidx.compose.material3.dynamicDarkColorScheme import androidx.compose.material3.dynamicLightColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext -import com.ivancorrales.basicjetpackcompose.ui.theme.LightColorScheme private val DarkColorScheme = darkColorScheme( - primary = Purple80, + primary = Green, //Purple80, secondary = PurpleGrey80, tertiary = Pink80 ) private val LightColorScheme = lightColorScheme( - primary = Purple40, - secondary = PurpleGrey40, + primary = Green, //Purple40, + secondary = Green, //PurpleGrey40, tertiary = Pink40 ) diff --git a/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Type.kt b/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Type.kt index 7128d5f..d0fa6ea 100644 --- a/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Type.kt +++ b/app/src/main/java/es/fpsumma/dam2/intro/ui/theme/Type.kt @@ -1,4 +1,4 @@ -package com.ivancorrales.basicjetpackcompose.ui.theme +package es.fpsumma.dam2.intro.ui.theme import androidx.compose.material3.Typography import androidx.compose.ui.text.TextStyle diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 5a0be97..9c45af4 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -2,8 +2,8 @@