From c1c208187b328fd969d75c7196eb0da38e61ae5b Mon Sep 17 00:00:00 2001 From: moon <56061215+MgKyawLay@users.noreply.github.com> Date: Sun, 31 May 2026 22:04:09 +0630 Subject: [PATCH] responsive keypad --- .../ui/dashboard/DashboardScreen2.kt | 43 ++----------------- .../ui/input_amount/InputAmountScreen.kt | 20 +++++---- 2 files changed, 15 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen2.kt b/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen2.kt index e14fc09..9ea31d9 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen2.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen2.kt @@ -6,50 +6,15 @@ import androidx.compose.animation.core.tween import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box -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.* import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.BarChart -import androidx.compose.material.icons.filled.Check -import androidx.compose.material.icons.filled.ChevronRight -import androidx.compose.material.icons.filled.Dashboard -import androidx.compose.material.icons.filled.Menu -import androidx.compose.material.icons.filled.Sync -import androidx.compose.material3.Card -import androidx.compose.material3.CardDefaults -import androidx.compose.material3.HorizontalDivider -import androidx.compose.material3.Icon -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.DrawerValue -import androidx.compose.material3.ModalDrawerSheet -import androidx.compose.material3.ModalNavigationDrawer -import androidx.compose.material3.NavigationDrawerItem -import androidx.compose.material3.NavigationDrawerItemDefaults -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.material3.VerticalDivider -import androidx.compose.material3.rememberDrawerState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.runtime.setValue +import androidx.compose.material.icons.filled.* +import androidx.compose.material3.* +import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/input_amount/InputAmountScreen.kt b/app/src/main/java/com/mob/utsmyanmar/ui/input_amount/InputAmountScreen.kt index 71e2aad..84d7b87 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/input_amount/InputAmountScreen.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/input_amount/InputAmountScreen.kt @@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height @@ -67,7 +68,7 @@ fun InputAmount( Box( modifier = Modifier .fillMaxSize() - .weight(1f), + .weight(2f), ){ Card( modifier = Modifier.align(Alignment.CenterEnd) @@ -93,7 +94,7 @@ fun InputAmount( Text( text = "Enter Amount", color = Color.Gray, - fontSize = 11.sp, + fontSize = 18.sp, modifier = Modifier.align(Alignment.CenterHorizontally) ) Spacer(modifier = Modifier.height(8.dp)) @@ -106,7 +107,7 @@ fun InputAmount( Text( text = prefixLabel, color = Color.LegacyRed, - fontSize = 13.sp, + fontSize = 16.sp, fontWeight = FontWeight.Medium, modifier = Modifier.padding(end = 10.dp, bottom = 6.dp) ) @@ -120,12 +121,12 @@ fun InputAmount( ) } - Spacer(modifier = Modifier.height(12.dp)) + Spacer(modifier = Modifier.height(14.dp)) Text( text = supportingText, color = Color.Gray, - fontSize = 11.sp, + fontSize = 14.sp, modifier = Modifier.align(Alignment.CenterHorizontally) ) } @@ -139,6 +140,7 @@ fun InputAmount( verticalArrangement = Arrangement.Bottom ){ NumericKeypad( + modifier = Modifier.fillMaxSize(), onKeyClick = { value -> amount = appendAmountValue(amount, value) } @@ -202,6 +204,7 @@ fun InputAmount( @Composable private fun NumericKeypad( + modifier: Modifier = Modifier, onKeyClick: (String) -> Unit ) { val keys : List> = listOf( @@ -211,18 +214,18 @@ private fun NumericKeypad( listOf(".", "0", "00") ) Column( - modifier = Modifier.fillMaxWidth(), + modifier = modifier, verticalArrangement = Arrangement.spacedBy(6.dp) ) { keys.forEach { row -> Row( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier.fillMaxWidth().weight(1f), horizontalArrangement = Arrangement.spacedBy(6.dp) ) { row.forEach { key -> KeypadButton( text = key, - modifier = Modifier.weight(1f), + modifier = Modifier.weight(1f).fillMaxHeight(), onClick = { onKeyClick(key) } ) } @@ -241,7 +244,6 @@ private fun KeypadButton( Box( modifier = modifier - .height(66.dp) .shadow( elevation = 2.dp, shape = RoundedCornerShape(8.dp),