Skip to content

Commit fdff00d

Browse files
committed
Refactor UI styling and status bar color
This commit updates the UI styling for text fields in `DiffCheckerScreen.kt` and sets the status bar color in `MainActivity.kt`. Key changes: - `DiffCheckerScreen.kt`: - Removed explicit `background` modifier from `TextField` composables. - Updated `TextFieldDefaults.colors` to set `unfocusedIndicatorColor`, `focusedContainerColor`, and `unfocusedContainerColor` to `Color.White`. - `MainActivity.kt`: - Added logic to set the status bar color to `Color.Red`. - Configured the window to fit system windows and set the status bar icons to light appearance.
1 parent 102325f commit fdff00d

2 files changed

Lines changed: 32 additions & 20 deletions

File tree

app/src/main/java/dev/jahidhasanco/diffly/presentation/MainActivity.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
package dev.jahidhasanco.diffly.presentation
22

3+
import android.app.Activity
34
import android.os.Bundle
45
import androidx.activity.ComponentActivity
56
import androidx.activity.compose.setContent
7+
import androidx.compose.runtime.SideEffect
8+
import androidx.compose.ui.graphics.Color
9+
import androidx.compose.ui.graphics.toArgb
10+
import androidx.compose.ui.platform.LocalView
11+
import androidx.core.view.WindowCompat
12+
import androidx.core.view.WindowInsetsControllerCompat
613
import dev.jahidhasanco.diffly.di.AppModule
714
import dev.jahidhasanco.diffly.presentation.screen.DiffCheckerScreen
815

@@ -14,6 +21,15 @@ class MainActivity : ComponentActivity() {
1421
override fun onCreate(savedInstanceState: Bundle?) {
1522
super.onCreate(savedInstanceState)
1623
setContent {
24+
val view = LocalView.current
25+
if (!view.isInEditMode) {
26+
SideEffect {
27+
val window = (view.context as Activity).window
28+
WindowCompat.setDecorFitsSystemWindows(window, true)
29+
window.statusBarColor = Color.Red.toArgb()
30+
WindowInsetsControllerCompat(window, view).isAppearanceLightStatusBars = true
31+
}
32+
}
1733
DiffCheckerScreen(viewModel)
1834
}
1935
}

app/src/main/java/dev/jahidhasanco/diffly/presentation/screen/DiffCheckerScreen.kt

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package dev.jahidhasanco.diffly.presentation.screen
22

33

4-
import androidx.compose.foundation.background
54
import androidx.compose.foundation.layout.Arrangement
65
import androidx.compose.foundation.layout.Box
76
import androidx.compose.foundation.layout.Column
@@ -85,8 +84,7 @@ fun DiffCheckerScreen(viewModel: MainViewModel) {
8584
Row(
8685
verticalAlignment = Alignment.CenterVertically,
8786
horizontalArrangement = Arrangement.Center,
88-
modifier = Modifier
89-
.wrapContentWidth()
87+
modifier = Modifier.wrapContentWidth()
9088
) {
9189
Text(
9290
text = "Live",
@@ -95,13 +93,17 @@ fun DiffCheckerScreen(viewModel: MainViewModel) {
9593
modifier = Modifier.padding(end = 6.dp)
9694
)
9795
Switch(
98-
modifier = Modifier.padding(end = 4.dp).scale(0.7f),
99-
checked = realTimeDiff, onCheckedChange = {
96+
modifier = Modifier
97+
.padding(end = 4.dp)
98+
.scale(0.7f),
99+
checked = realTimeDiff,
100+
onCheckedChange = {
100101
realTimeDiff = it
101102
if (it) {
102103
viewModel.calculateDiff(oldText, newText)
103104
}
104-
}, colors = SwitchDefaults.colors(
105+
},
106+
colors = SwitchDefaults.colors(
105107
checkedThumbColor = primary,
106108
uncheckedThumbColor = Color.Gray,
107109
checkedTrackColor = primary.copy(alpha = 0.3f),
@@ -165,17 +167,14 @@ fun DiffCheckerScreen(viewModel: MainViewModel) {
165167
},
166168
modifier = Modifier
167169
.fillMaxWidth()
168-
.height(150.dp)
169-
.background(
170-
color = Color.White, shape = RoundedCornerShape(8.dp)
171-
),
170+
.height(150.dp),
172171

173172
shape = RoundedCornerShape(8.dp),
174173
colors = TextFieldDefaults.colors(
175174
focusedIndicatorColor = primary,
176-
unfocusedIndicatorColor = Color.Transparent,
177-
focusedContainerColor = Color.Transparent,
178-
unfocusedContainerColor = Color.Transparent,
175+
unfocusedIndicatorColor = Color.White,
176+
focusedContainerColor = Color.White,
177+
unfocusedContainerColor = Color.White,
179178
focusedLabelColor = primary,
180179
unfocusedLabelColor = Color.Gray,
181180
focusedTextColor = Color.Black,
@@ -224,10 +223,7 @@ fun DiffCheckerScreen(viewModel: MainViewModel) {
224223
}
225224
}, modifier = Modifier
226225
.fillMaxWidth()
227-
.height(150.dp)
228-
.background(
229-
color = Color.White, shape = RoundedCornerShape(8.dp)
230-
),
226+
.height(150.dp),
231227

232228
shape = RoundedCornerShape(8.dp), label = {
233229
Text(
@@ -236,9 +232,9 @@ fun DiffCheckerScreen(viewModel: MainViewModel) {
236232
)
237233
}, colors = TextFieldDefaults.colors(
238234
focusedIndicatorColor = primary,
239-
unfocusedIndicatorColor = Color.Transparent,
240-
focusedContainerColor = Color.Transparent,
241-
unfocusedContainerColor = Color.Transparent,
235+
unfocusedIndicatorColor = Color.White,
236+
focusedContainerColor = Color.White,
237+
unfocusedContainerColor = Color.White,
242238
focusedLabelColor = primary,
243239
unfocusedLabelColor = Color.Gray,
244240
focusedTextColor = Color.Black,

0 commit comments

Comments
 (0)