From 9c4d01ad6cb1f54511d68a77634343c4c601c1b6 Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Sat, 22 Apr 2023 13:55:25 +0100 Subject: Basic minimal hello world application with gradle --- src/main/java/MainActivity.kt | 43 +++++++++++++++++++++++++++++++++++++++++ src/main/java/ui/theme/Color.kt | 8 ++++++++ src/main/java/ui/theme/Shape.kt | 11 +++++++++++ src/main/java/ui/theme/Theme.kt | 38 ++++++++++++++++++++++++++++++++++++ src/main/java/ui/theme/Type.kt | 15 ++++++++++++++ 5 files changed, 115 insertions(+) create mode 100644 src/main/java/MainActivity.kt create mode 100644 src/main/java/ui/theme/Color.kt create mode 100644 src/main/java/ui/theme/Shape.kt create mode 100644 src/main/java/ui/theme/Theme.kt create mode 100644 src/main/java/ui/theme/Type.kt (limited to 'src/main/java') diff --git a/src/main/java/MainActivity.kt b/src/main/java/MainActivity.kt new file mode 100644 index 0000000..3e2b32f --- /dev/null +++ b/src/main/java/MainActivity.kt @@ -0,0 +1,43 @@ +package ski.kramkow.paste + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Surface +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import ski.kramkow.paste.ui.theme.PasteTheme + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + PasteTheme { + Surface( + modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colors.background + ) { + Greeting("World") + } + } + } + } +} + +@Composable +fun Greeting(name: String) { + Text(text = "Hello $name!") +} + +@Preview(showBackground = true) +@Composable +fun DefaultPreview() { + PasteTheme { + Greeting("Android") + } +} + diff --git a/src/main/java/ui/theme/Color.kt b/src/main/java/ui/theme/Color.kt new file mode 100644 index 0000000..e32a30d --- /dev/null +++ b/src/main/java/ui/theme/Color.kt @@ -0,0 +1,8 @@ +package ski.kramkow.paste.ui.theme + +import androidx.compose.ui.graphics.Color + +val Purple200 = Color(0xFFBB86FC) +val Purple500 = Color(0xFF6200EE) +val Purple700 = Color(0xFF3700B3) +val Teal200 = Color(0xFF03DAC5) diff --git a/src/main/java/ui/theme/Shape.kt b/src/main/java/ui/theme/Shape.kt new file mode 100644 index 0000000..d3f1ec9 --- /dev/null +++ b/src/main/java/ui/theme/Shape.kt @@ -0,0 +1,11 @@ +package ski.kramkow.paste.ui.theme + +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Shapes +import androidx.compose.ui.unit.dp + +val Shapes = Shapes( + small = RoundedCornerShape(4.dp), + medium = RoundedCornerShape(4.dp), + large = RoundedCornerShape(0.dp) +) diff --git a/src/main/java/ui/theme/Theme.kt b/src/main/java/ui/theme/Theme.kt new file mode 100644 index 0000000..7740e34 --- /dev/null +++ b/src/main/java/ui/theme/Theme.kt @@ -0,0 +1,38 @@ +package ski.kramkow.paste.ui.theme + +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material.MaterialTheme +import androidx.compose.material.darkColors +import androidx.compose.material.lightColors +import androidx.compose.runtime.Composable + +private val DarkColorPalette = darkColors( + primary = Purple200, + primaryVariant = Purple700, + secondary = Teal200 +) + +private val LightColorPalette = lightColors( + primary = Purple500, + primaryVariant = Purple700, + secondary = Teal200 +) + +@Composable +fun PasteTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + content: @Composable () -> Unit +) { + val colors = if (darkTheme) { + DarkColorPalette + } else { + LightColorPalette + } + + MaterialTheme( + colors = colors, + typography = Typography, + shapes = Shapes, + content = content + ) +} diff --git a/src/main/java/ui/theme/Type.kt b/src/main/java/ui/theme/Type.kt new file mode 100644 index 0000000..ffebac3 --- /dev/null +++ b/src/main/java/ui/theme/Type.kt @@ -0,0 +1,15 @@ +package ski.kramkow.paste.ui.theme + +import androidx.compose.material.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +val Typography = Typography( + body1 = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp + ) +) -- cgit v1.2.3-54-g00ecf