Thay đổi màu thanh trạng thái trong Jetpack Compose
Mỗi vấn đề được giải quyết là một bài học kinh nghiệm. #Mẹo Android #Giải quyết vấn đềhôm nay
Thay đổi màu thanh trạng thái là một công việc phổ biến khi thiết kế ứng dụng Android. Với Jetpack Compose, đây là một quy trình đơn giản có thể được thực hiện chỉ trong một vài dòng mã.

Để thay đổi màu thanh trạng thái trong Jetpack Compose, chúng ta có thể sử dụng tùy chọn SystemUiController
do androidx.compose.ui.platform
gói cung cấp.
Trước tiên, chúng tôi cần bộ điều khiển hệ thống đi kèm, Thêm phần phụ thuộc vào tệp build.gradle của ứng dụng của bạn:
dependencies {
implementation "com.google.accompanist:accompanist-systemuicontroller:x.y.z"
}
Chúng ta cần tạo một hàm có thể kết hợp để đặt màu cho thanh trạng thái (tạo lớp SetStatusBarColor.kt ). Đây là một ví dụ:
@Composable
fun SetStatusBarColor(color: Color) {
val systemUiController = rememberSystemUiController()
SideEffect {
systemUiController.setSystemBarsColor(color)
}
}
Tiếp theo, chúng ta có thể gọi hàm này trong @Composable
hàm chính trên MainActivity , như sau:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
YourAppNameTheme {
StatusBarColor(color = MaterialTheme.colors.primary)
// Other content here, example :
Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) {
YourAppClass()
}
}
}
}
}
Và thế là xong! Chỉ với một vài dòng mã, chúng ta có thể dễ dàng thay đổi màu thanh trạng thái trong ứng dụng Android dựa trên Jetpack Compose của mình.
Việc sử dụng SystemUiController
không chỉ giới hạn ở việc thay đổi màu của thanh trạng thái mà còn có thể được sử dụng cho các cấu hình giao diện người dùng hệ thống khác, chẳng hạn như thanh điều hướng, chế độ nhập vai, v.v.
Tôi có ứng dụng sampel sử dụng jetpack soạn trong kho lưu trữ của mình github.com/im-o .
Đã xong và phủi bụi, cảm ơn bạn!