Mengubah Warna Bilah Status di Jetpack Compose
Setiap masalah yang dipecahkan adalah pelajaran yang dipetik. #AndroidTips #SolvedProblemToday
Mengubah warna bilah status adalah tugas umum saat mendesain aplikasi Android. Dengan Jetpack Compose, ini adalah proses sederhana yang dapat dilakukan hanya dalam beberapa baris kode.
Untuk mengubah warna bilah status di Jetpack Compose, kita dapat menggunakan yang SystemUiController
disediakan oleh androidx.compose.ui.platform
paket.
Pertama, kita membutuhkan pengiring-systemuicontroller, Tambahkan dependensi ke file build.gradle aplikasi Anda:
dependencies {
implementation "com.google.accompanist:accompanist-systemuicontroller:x.y.z"
}
Kita perlu membuat fungsi yang dapat disusun yang akan menyetel warna bilah status (membuat kelas SetStatusBarColor.kt ). Berikut contohnya:
@Composable
fun SetStatusBarColor(color: Color) {
val systemUiController = rememberSystemUiController()
SideEffect {
systemUiController.setSystemBarsColor(color)
}
}
Selanjutnya, kita dapat memanggil fungsi ini di @Composable
fungsi utama kita di MainActivity , seperti ini:
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()
}
}
}
}
}
Dan itu saja! Hanya dengan beberapa baris kode, kita dapat dengan mudah mengubah warna bilah status di aplikasi Android berbasis Jetpack Compose.
Penggunaannya SystemUiController
tidak hanya terbatas pada mengubah warna bilah status, tetapi juga dapat digunakan untuk konfigurasi UI sistem lainnya, seperti bilah navigasi, mode imersif, dan lainnya.
Saya memiliki aplikasi sampel menggunakan penulisan jetpack di repositori saya github.com/im-o .
Selesai dan dibersihkan, terima kasih!