From 75e9e199ba0fb414b94d1cd144b2d44c2c4838ea Mon Sep 17 00:00:00 2001 From: BinTianqi <1220958406@qq.com> Date: Sun, 24 Mar 2024 16:39:30 +0800 Subject: [PATCH] show label on topbar --- app/build.gradle.kts | 4 ++-- .../com/binbin/androidowner/MainActivity.kt | 4 ++-- .../com/binbin/androidowner/dpm/Network.kt | 17 ++++++++++---- .../com/binbin/androidowner/dpm/Password.kt | 22 ++++++++++++------- .../binbin/androidowner/dpm/Permissions.kt | 17 ++++++++++---- .../binbin/androidowner/dpm/SystemManage.kt | 22 ++++++++++++------- .../com/binbin/androidowner/dpm/UserManage.kt | 22 ++++++++++++------- .../androidowner/dpm/UserRestriction.kt | 18 +++++++++++---- .../com/binbin/androidowner/ui/Components.kt | 11 ++++------ 9 files changed, 90 insertions(+), 47 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d89b10b..31d9b0e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,8 +11,8 @@ android { applicationId = "com.binbin.androidowner" minSdk = 21 targetSdk = 34 - versionCode = 20 - versionName = "4.3" + versionCode = 21 + versionName = "4.4" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { diff --git a/app/src/main/java/com/binbin/androidowner/MainActivity.kt b/app/src/main/java/com/binbin/androidowner/MainActivity.kt index 4b2ba0d..6f35e86 100644 --- a/app/src/main/java/com/binbin/androidowner/MainActivity.kt +++ b/app/src/main/java/com/binbin/androidowner/MainActivity.kt @@ -192,13 +192,13 @@ fun HomePageItem(name:Int, imgVector:Int, navTo:String, myNav:NavHostController) .padding(vertical = 13.dp), verticalAlignment = Alignment.CenterVertically ) { - Spacer(modifier = Modifier.fillMaxWidth(0.08F)) + Spacer(Modifier.padding(start = 30.dp)) Icon( painter = painterResource(imgVector), contentDescription = null, tint = colorScheme.onBackground ) - Spacer(modifier = Modifier.fillMaxWidth(0.05F)) + Spacer(Modifier.padding(start = 15.dp)) Column { Text( text = stringResource(name), diff --git a/app/src/main/java/com/binbin/androidowner/dpm/Network.kt b/app/src/main/java/com/binbin/androidowner/dpm/Network.kt index c059645..06b7ebe 100644 --- a/app/src/main/java/com/binbin/androidowner/dpm/Network.kt +++ b/app/src/main/java/com/binbin/androidowner/dpm/Network.kt @@ -28,6 +28,7 @@ import androidx.compose.material3.MaterialTheme.typography import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource @@ -50,6 +51,7 @@ var ssidSet = mutableSetOf() fun Network(navCtrl: NavHostController){ val localNavCtrl = rememberNavController() val backStackEntry by localNavCtrl.currentBackStackEntryAsState() + val scrollState = rememberScrollState() /*val titleMap = mapOf( "Home" to R.string.network, "MinWifiSecurityLevel" to R.string.min_wifi_security_level, @@ -66,7 +68,14 @@ fun Network(navCtrl: NavHostController){ navigationIcon = {NavIcon{if(backStackEntry?.destination?.route=="Home"){navCtrl.navigateUp()}else{localNavCtrl.navigateUp()}}}, colors = TopAppBarDefaults.topAppBarColors(containerColor = colorScheme.surfaceVariant) )*/ - TopBar(backStackEntry, navCtrl, localNavCtrl) + TopBar(backStackEntry,navCtrl,localNavCtrl){ + if(backStackEntry?.destination?.route=="Home"){ + Text( + text = stringResource(R.string.network), + modifier = Modifier.alpha((maxOf(scrollState.value-30,0)).toFloat()/80) + ) + } + } } ){ NavHost( @@ -77,7 +86,7 @@ fun Network(navCtrl: NavHostController){ popExitTransition = Animations().navHostPopExitTransition, modifier = Modifier.background(bgColor).padding(top = it.calculateTopPadding()) ){ - composable(route = "Home"){Home(localNavCtrl)} + composable(route = "Home"){Home(localNavCtrl,scrollState)} composable(route = "Switches"){Switches()} composable(route = "MinWifiSecurityLevel"){WifiSecLevel()} composable(route = "WifiSsidPolicy"){WifiSsidPolicy()} @@ -90,11 +99,11 @@ fun Network(navCtrl: NavHostController){ } @Composable -private fun Home(navCtrl:NavHostController){ +private fun Home(navCtrl:NavHostController,scrollState: ScrollState){ val myContext = LocalContext.current val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager val myComponent = ComponentName(myContext,MyDeviceAdminReceiver::class.java) - Column(modifier = Modifier.fillMaxSize().verticalScroll(rememberScrollState())){ + Column(modifier = Modifier.fillMaxSize().verticalScroll(scrollState)){ Text(text = stringResource(R.string.network), style = typography.headlineLarge, modifier = Modifier.padding(top = 8.dp, bottom = 5.dp, start = 15.dp)) if(VERSION.SDK_INT>=24&&isDeviceOwner(myDpm)){ val wifimac = myDpm.getWifiMacAddress(myComponent) diff --git a/app/src/main/java/com/binbin/androidowner/dpm/Password.kt b/app/src/main/java/com/binbin/androidowner/dpm/Password.kt index c096a75..b97733a 100644 --- a/app/src/main/java/com/binbin/androidowner/dpm/Password.kt +++ b/app/src/main/java/com/binbin/androidowner/dpm/Password.kt @@ -11,18 +11,16 @@ import android.os.Build.VERSION import android.widget.Toast import androidx.activity.ComponentActivity import androidx.compose.animation.AnimatedVisibility -import androidx.compose.foundation.background -import androidx.compose.foundation.focusable +import androidx.compose.foundation.* import androidx.compose.foundation.layout.* -import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions -import androidx.compose.foundation.verticalScroll import androidx.compose.material3.* import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.material3.MaterialTheme.typography import androidx.compose.runtime.* import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource @@ -43,6 +41,7 @@ import com.binbin.androidowner.ui.theme.bgColor fun Password(navCtrl: NavHostController){ val localNavCtrl = rememberNavController() val backStackEntry by localNavCtrl.currentBackStackEntryAsState() + val scrollState = rememberScrollState() /*val titleMap = mapOf( "ResetPasswordToken" to R.string.reset_password_token, "PasswordInfo" to R.string.password_info, @@ -62,7 +61,14 @@ fun Password(navCtrl: NavHostController){ navigationIcon = {NavIcon{if(backStackEntry?.destination?.route=="Home"){navCtrl.navigateUp()}else{localNavCtrl.navigateUp()}}}, colors = TopAppBarDefaults.topAppBarColors(containerColor = colorScheme.surfaceVariant) )*/ - TopBar(backStackEntry, navCtrl, localNavCtrl) + TopBar(backStackEntry,navCtrl,localNavCtrl){ + if(backStackEntry?.destination?.route=="Home"){ + Text( + text = stringResource(R.string.password_and_keyguard), + modifier = Modifier.alpha((maxOf(scrollState.value-30,0)).toFloat()/80) + ) + } + } } ){ NavHost( @@ -73,7 +79,7 @@ fun Password(navCtrl: NavHostController){ popExitTransition = Animations().navHostPopExitTransition, modifier = Modifier.background(bgColor).padding(top = it.calculateTopPadding()) ){ - composable(route = "Home"){Home(localNavCtrl)} + composable(route = "Home"){Home(localNavCtrl,scrollState)} composable(route = "PasswordInfo"){PasswordInfo()} composable(route = "ResetPasswordToken"){ResetPasswordToken()} composable(route = "ResetPassword"){ResetPassword()} @@ -89,8 +95,8 @@ fun Password(navCtrl: NavHostController){ } @Composable -private fun Home(navCtrl:NavHostController){ - Column(modifier = Modifier.fillMaxSize().verticalScroll(rememberScrollState())){ +private fun Home(navCtrl:NavHostController,scrollState: ScrollState){ + Column(modifier = Modifier.fillMaxSize().verticalScroll(scrollState)){ Text(text = stringResource(R.string.password_and_keyguard), style = typography.headlineLarge, modifier = Modifier.padding(top = 8.dp, bottom = 5.dp, start = 15.dp)) SubPageItem(R.string.password_info,"",R.drawable.info_fill0){navCtrl.navigate("PasswordInfo")} if(VERSION.SDK_INT>=26){ diff --git a/app/src/main/java/com/binbin/androidowner/dpm/Permissions.kt b/app/src/main/java/com/binbin/androidowner/dpm/Permissions.kt index f4a8db0..559b08a 100644 --- a/app/src/main/java/com/binbin/androidowner/dpm/Permissions.kt +++ b/app/src/main/java/com/binbin/androidowner/dpm/Permissions.kt @@ -21,6 +21,7 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.platform.LocalContext @@ -47,6 +48,7 @@ import kotlinx.coroutines.launch fun DpmPermissions(navCtrl:NavHostController){ val localNavCtrl = rememberNavController() val backStackEntry by localNavCtrl.currentBackStackEntryAsState() + val scrollState = rememberScrollState() /*val titleMap = mapOf( "Home" to R.string.permission, "Shizuku" to R.string.shizuku, @@ -68,7 +70,14 @@ fun DpmPermissions(navCtrl:NavHostController){ navigationIcon = {NavIcon{if(backStackEntry?.destination?.route=="Home"){navCtrl.navigateUp()}else{localNavCtrl.navigateUp()}}}, colors = TopAppBarDefaults.topAppBarColors(containerColor = colorScheme.surfaceVariant) )*/ - TopBar(backStackEntry,navCtrl,localNavCtrl) + TopBar(backStackEntry,navCtrl,localNavCtrl){ + if(backStackEntry?.destination?.route=="Home"){ + Text( + text = stringResource(R.string.permission), + modifier = Modifier.alpha((maxOf(scrollState.value-30,0)).toFloat()/80) + ) + } + } } ){ NavHost( @@ -79,7 +88,7 @@ fun DpmPermissions(navCtrl:NavHostController){ popExitTransition = Animations().navHostPopExitTransition, modifier = Modifier.background(bgColor).padding(top = it.calculateTopPadding()) ){ - composable(route = "Home"){Home(localNavCtrl)} + composable(route = "Home"){Home(localNavCtrl,scrollState)} composable(route = "Shizuku"){ShizukuActivate()} composable(route = "DeviceAdmin"){DeviceAdmin(navCtrl)} composable(route = "ProfileOwner"){ProfileOwner()} @@ -96,11 +105,11 @@ fun DpmPermissions(navCtrl:NavHostController){ } @Composable -private fun Home(localNavCtrl:NavHostController){ +private fun Home(localNavCtrl:NavHostController,listScrollState:ScrollState){ val myContext = LocalContext.current val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager val myComponent = ComponentName(myContext,MyDeviceAdminReceiver::class.java) - Column(modifier = Modifier.fillMaxSize().verticalScroll(rememberScrollState())) { + Column(modifier = Modifier.fillMaxSize().verticalScroll(listScrollState)) { Text(text = stringResource(R.string.permission), style = typography.headlineLarge, modifier = Modifier.padding(top = 8.dp, bottom = 5.dp, start = 15.dp)) SubPageItem( R.string.device_admin, stringResource(if(myDpm.isAdminActive(myComponent)){R.string.activated}else{R.string.deactivated}), diff --git a/app/src/main/java/com/binbin/androidowner/dpm/SystemManage.kt b/app/src/main/java/com/binbin/androidowner/dpm/SystemManage.kt index a21227d..b3aad74 100644 --- a/app/src/main/java/com/binbin/androidowner/dpm/SystemManage.kt +++ b/app/src/main/java/com/binbin/androidowner/dpm/SystemManage.kt @@ -19,19 +19,17 @@ import android.widget.Toast import androidx.activity.ComponentActivity import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.animateContentSize -import androidx.compose.foundation.background -import androidx.compose.foundation.focusable +import androidx.compose.foundation.* import androidx.compose.foundation.layout.* -import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.text.selection.SelectionContainer -import androidx.compose.foundation.verticalScroll import androidx.compose.material3.* import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.material3.MaterialTheme.typography import androidx.compose.runtime.* import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource @@ -54,6 +52,7 @@ import java.util.Date fun SystemManage(navCtrl:NavHostController){ val localNavCtrl = rememberNavController() val backStackEntry by localNavCtrl.currentBackStackEntryAsState() + val scrollState = rememberScrollState() /*val titleMap = mapOf( "Switches" to R.string.options, "Keyguard" to R.string.keyguard, @@ -76,7 +75,14 @@ fun SystemManage(navCtrl:NavHostController){ navigationIcon = {NavIcon{if(backStackEntry?.destination?.route=="Home"){navCtrl.navigateUp()}else{localNavCtrl.navigateUp()}}}, colors = TopAppBarDefaults.topAppBarColors(containerColor = colorScheme.surfaceVariant) )*/ - TopBar(backStackEntry,navCtrl,localNavCtrl) + TopBar(backStackEntry,navCtrl,localNavCtrl){ + if(backStackEntry?.destination?.route=="Home"){ + Text( + text = stringResource(R.string.device_ctrl), + modifier = Modifier.alpha((maxOf(scrollState.value-30,0)).toFloat()/80) + ) + } + } } ){ NavHost( @@ -87,7 +93,7 @@ fun SystemManage(navCtrl:NavHostController){ popExitTransition = Animations().navHostPopExitTransition, modifier = Modifier.background(bgColor).padding(top = it.calculateTopPadding()) ){ - composable(route = "Home"){Home(localNavCtrl)} + composable(route = "Home"){Home(localNavCtrl,scrollState)} composable(route = "Switches"){Switches()} composable(route = "Keyguard"){Keyguard()} composable(route = "BugReport"){BugReport()} @@ -106,10 +112,10 @@ fun SystemManage(navCtrl:NavHostController){ } @Composable -private fun Home(navCtrl: NavHostController){ +private fun Home(navCtrl: NavHostController,scrollState: ScrollState){ val myContext = LocalContext.current val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager - Column(modifier = Modifier.fillMaxSize().verticalScroll(rememberScrollState())){ + Column(modifier = Modifier.fillMaxSize().verticalScroll(scrollState)){ Text(text = stringResource(R.string.device_ctrl), style = typography.headlineLarge, modifier = Modifier.padding(top = 8.dp, bottom = 5.dp, start = 15.dp)) if(isDeviceOwner(myDpm)||isProfileOwner(myDpm)){ SubPageItem(R.string.options,"",R.drawable.tune_fill0){navCtrl.navigate("Switches")} diff --git a/app/src/main/java/com/binbin/androidowner/dpm/UserManage.kt b/app/src/main/java/com/binbin/androidowner/dpm/UserManage.kt index f220280..c9eb8c2 100644 --- a/app/src/main/java/com/binbin/androidowner/dpm/UserManage.kt +++ b/app/src/main/java/com/binbin/androidowner/dpm/UserManage.kt @@ -15,18 +15,16 @@ import android.provider.MediaStore import android.widget.Toast import androidx.activity.ComponentActivity import androidx.compose.animation.AnimatedVisibility -import androidx.compose.foundation.background -import androidx.compose.foundation.focusable +import androidx.compose.foundation.* import androidx.compose.foundation.layout.* -import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.text.selection.SelectionContainer -import androidx.compose.foundation.verticalScroll import androidx.compose.material3.* import androidx.compose.material3.MaterialTheme.typography import androidx.compose.runtime.* import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource @@ -51,6 +49,7 @@ var affiliationID = mutableSetOf() fun UserManage(navCtrl:NavHostController) { val localNavCtrl = rememberNavController() val backStackEntry by localNavCtrl.currentBackStackEntryAsState() + val scrollState = rememberScrollState() /*val titleMap = mapOf( "UserInfo" to R.string.user_info, "UserOperation" to R.string.user_operation, @@ -67,7 +66,14 @@ fun UserManage(navCtrl:NavHostController) { navigationIcon = {NavIcon{if(backStackEntry?.destination?.route=="Home"){navCtrl.navigateUp()}else{localNavCtrl.navigateUp()}}}, colors = TopAppBarDefaults.topAppBarColors(containerColor = colorScheme.surfaceVariant) )*/ - TopBar(backStackEntry,navCtrl,localNavCtrl) + TopBar(backStackEntry,navCtrl,localNavCtrl){ + if(backStackEntry?.destination?.route=="Home"){ + Text( + text = stringResource(R.string.user_manage), + modifier = Modifier.alpha((maxOf(scrollState.value-30,0)).toFloat()/80) + ) + } + } } ){ NavHost( @@ -78,7 +84,7 @@ fun UserManage(navCtrl:NavHostController) { popExitTransition = Animations().navHostPopExitTransition, modifier = Modifier.background(bgColor).padding(top = it.calculateTopPadding()) ){ - composable(route = "Home"){Home(localNavCtrl)} + composable(route = "Home"){Home(localNavCtrl,scrollState)} composable(route = "UserInfo"){CurrentUserInfo()} composable(route = "UserOperation"){UserOperation()} composable(route = "CreateUser"){CreateUser()} @@ -91,10 +97,10 @@ fun UserManage(navCtrl:NavHostController) { } @Composable -private fun Home(navCtrl: NavHostController){ +private fun Home(navCtrl: NavHostController,scrollState: ScrollState){ val myContext = LocalContext.current val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager - Column(modifier = Modifier.fillMaxSize().verticalScroll(rememberScrollState())){ + Column(modifier = Modifier.fillMaxSize().verticalScroll(scrollState)){ Text(text = stringResource(R.string.user_manage), style = typography.headlineLarge, modifier = Modifier.padding(top = 8.dp, bottom = 5.dp, start = 15.dp)) SubPageItem(R.string.user_info,"",R.drawable.person_fill0){navCtrl.navigate("UserInfo")} SubPageItem(R.string.user_operation,"",R.drawable.sync_alt_fill0){navCtrl.navigate("UserOperation")} diff --git a/app/src/main/java/com/binbin/androidowner/dpm/UserRestriction.kt b/app/src/main/java/com/binbin/androidowner/dpm/UserRestriction.kt index 58c9e79..e85e99e 100644 --- a/app/src/main/java/com/binbin/androidowner/dpm/UserRestriction.kt +++ b/app/src/main/java/com/binbin/androidowner/dpm/UserRestriction.kt @@ -10,6 +10,7 @@ import android.widget.Toast import androidx.activity.ComponentActivity import androidx.annotation.DrawableRes import androidx.annotation.StringRes +import androidx.compose.foundation.ScrollState import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -23,6 +24,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp @@ -49,6 +51,7 @@ private data class Restriction( fun UserRestriction(navCtrl: NavHostController){ val localNavCtrl = rememberNavController() val backStackEntry by localNavCtrl.currentBackStackEntryAsState() + val scrollState = rememberScrollState() /*val titleMap = mapOf( "Internet" to R.string.network_internet, "Connectivity" to R.string.more_connectivity, @@ -64,7 +67,14 @@ fun UserRestriction(navCtrl: NavHostController){ navigationIcon = {NavIcon{if(backStackEntry?.destination?.route=="Home"){navCtrl.navigateUp()}else{localNavCtrl.navigateUp()}}}, colors = TopAppBarDefaults.topAppBarColors(containerColor = colorScheme.surfaceVariant) )*/ - TopBar(backStackEntry,navCtrl,localNavCtrl) + TopBar(backStackEntry,navCtrl,localNavCtrl){ + if(backStackEntry?.destination?.route=="Home"){ + Text( + text = stringResource(R.string.user_restrict), + modifier = Modifier.alpha((maxOf(scrollState.value-30,0)).toFloat()/80) + ) + } + } } ){ NavHost( @@ -76,7 +86,7 @@ fun UserRestriction(navCtrl: NavHostController){ modifier = Modifier.background(bgColor).padding(top = it.calculateTopPadding()) ){ composable(route = "Internet"){Internet()} - composable(route = "Home"){Home(localNavCtrl)} + composable(route = "Home"){Home(localNavCtrl,scrollState)} composable(route = "Connectivity"){Connectivity()} composable(route = "Applications"){Application()} composable(route = "Users"){User()} @@ -87,11 +97,11 @@ fun UserRestriction(navCtrl: NavHostController){ } @Composable -private fun Home(navCtrl:NavHostController){ +private fun Home(navCtrl:NavHostController,scrollState: ScrollState){ val myContext = LocalContext.current val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager val myComponent = ComponentName(myContext,MyDeviceAdminReceiver::class.java) - Column(modifier = Modifier.fillMaxSize().verticalScroll(rememberScrollState())){ + Column(modifier = Modifier.fillMaxSize().verticalScroll(scrollState)){ Text(text = stringResource(R.string.user_restrict), style = typography.headlineLarge, modifier = Modifier.padding(top = 8.dp, bottom = 7.dp, start = 15.dp)) Text(text = stringResource(R.string.switch_to_disable_feature), modifier = Modifier.padding(start = 15.dp)) if(isProfileOwner(myDpm)){ Text(text = stringResource(R.string.profile_owner_is_restricted), modifier = Modifier.padding(start = 15.dp)) } diff --git a/app/src/main/java/com/binbin/androidowner/ui/Components.kt b/app/src/main/java/com/binbin/androidowner/ui/Components.kt index ef5df1d..330cbf4 100644 --- a/app/src/main/java/com/binbin/androidowner/ui/Components.kt +++ b/app/src/main/java/com/binbin/androidowner/ui/Components.kt @@ -21,7 +21,6 @@ import androidx.compose.ui.unit.dp import androidx.navigation.NavBackStackEntry import androidx.navigation.NavHostController import com.binbin.androidowner.R -import com.binbin.androidowner.displayMetrics import com.binbin.androidowner.ui.theme.bgColor @Composable @@ -35,11 +34,10 @@ fun SubPageItem( modifier = Modifier.fillMaxWidth().clickable(onClick = operation).padding(vertical = 15.dp), verticalAlignment = Alignment.CenterVertically ){ - Spacer(Modifier.padding(start = (displayMetrics.widthPixels/20).dp)) + Spacer(Modifier.padding(start = 30.dp)) if(icon!=null){ - Spacer(Modifier.padding(start = (displayMetrics.widthPixels/60).dp)) Icon(painter = painterResource(icon), contentDescription = stringResource(title), modifier = Modifier.padding(top = 1.dp)) - Spacer(Modifier.padding(start = (displayMetrics.widthPixels/30).dp)) + Spacer(Modifier.padding(start = 15.dp)) } Column { Text(text = stringResource(title), style = typography.titleLarge, modifier = Modifier.padding(bottom = 1.dp)) @@ -131,11 +129,10 @@ fun SwitchItem( checked = getState() Box(modifier = Modifier.fillMaxWidth().padding(vertical = 5.dp)) { Row(verticalAlignment = Alignment.CenterVertically, modifier = Modifier.align(Alignment.CenterStart)){ - Spacer(Modifier.padding(start = (displayMetrics.widthPixels/20).dp)) + Spacer(Modifier.padding(start = 30.dp)) if(icon!=null){ - Spacer(Modifier.padding(start = (displayMetrics.widthPixels/60).dp)) Icon(painter = painterResource(icon),contentDescription = null) - Spacer(Modifier.padding(start = (displayMetrics.widthPixels/30).dp)) + Spacer(Modifier.padding(start = 15.dp)) } Column(modifier = Modifier.padding(end = 60.dp)){ Text(text = stringResource(title), style = typography.titleLarge)