From ecbb161a74ff685747ef11834bcb6ef15f219dc9 Mon Sep 17 00:00:00 2001 From: Xuan Huang Date: Tue, 28 Oct 2025 20:46:40 +0800 Subject: [PATCH] Improve card appearance and simplify WindowInsets padding --- .../com/example/affirmations/MainActivity.kt | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/affirmations/MainActivity.kt b/app/src/main/java/com/example/affirmations/MainActivity.kt index fc480af..1a16846 100644 --- a/app/src/main/java/com/example/affirmations/MainActivity.kt +++ b/app/src/main/java/com/example/affirmations/MainActivity.kt @@ -20,10 +20,16 @@ import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.asPaddingValues +import androidx.compose.foundation.layout.calculateEndPadding +import androidx.compose.foundation.layout.calculateStartPadding 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.safeDrawing +import androidx.compose.foundation.layout.statusBarsPadding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material3.Card @@ -34,6 +40,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview @@ -62,9 +69,17 @@ class MainActivity : ComponentActivity() { @Composable fun AffirmationsApp() { - AffirmationList( - affirmationList = Datasource().loadAffirmations(), - ) + val layoutDirection = LocalLayoutDirection.current + Surface( + modifier = Modifier + .fillMaxSize() + .statusBarsPadding() + .padding(WindowInsets.safeDrawing.asPaddingValues()) + ) { + AffirmationList( + affirmationList = Datasource().loadAffirmations(), + ) + } } @Composable @@ -81,7 +96,11 @@ fun AffirmationList(affirmationList: List, modifier: Modifier = Mod @Composable fun AffirmationCard(affirmation: Affirmation, modifier: Modifier = Modifier) { - Card(modifier = modifier) { + Card( + modifier = modifier, + shape = RoundedCornerShape(12.dp), + elevation = CardDefaults.cardElevation(defaultElevation = 4.dp) + ) { Column { Image( painter = painterResource(affirmation.imageResourceId),