Jetpack Compose'da Durum Çubuğu Rengini Değiştirme

May 08 2023
Çözülen her problem öğrenilen bir derstir. #AndroidTips #SolvedProblemToday Android uygulamalarını tasarlarken durum çubuğu rengini değiştirmek yaygın bir görevdir.

Çözülen her problem öğrenilen bir derstir. #AndroidTips #SolvedProblemToday

Jetpack Oluşturma

Durum çubuğu rengini değiştirmek, Android uygulamaları tasarlarken sık yapılan bir görevdir. Jetpack Compose ile bu, yalnızca birkaç satır kodla yapılabilecek basit bir işlemdir.

Jetpack Compose'da Durum Çubuğu Rengini Değiştirme

SystemUiControllerJetpack Compose'da durum çubuğu rengini değiştirmek için paketin sağladığı rengi kullanabiliriz androidx.compose.ui.platform.

Öncelikle, accompanist-systemuicontroller'a ihtiyacımız var , Bağımlılığı uygulamanızın build.gradle dosyasına ekleyin:

dependencies {
    implementation "com.google.accompanist:accompanist-systemuicontroller:x.y.z"
}

Durum çubuğu rengini ayarlayacak bir birleştirilebilir bir işlev yaratmamız gerekiyor ( SetStatusBarColor.kt sınıfı oluşturun ). İşte bir örnek:

@Composable
fun SetStatusBarColor(color: Color) {
    val systemUiController = rememberSystemUiController()
    SideEffect {
        systemUiController.setSystemBarsColor(color)
    }
}

Ardından, bu işlevi MainActivity'deki@Composable ana işlevimizde şu şekilde çağırabiliriz :

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()
                }
            }
        }
    }
}

Ve bu kadar! Jetpack Compose tabanlı Android uygulamamızda sadece birkaç satır kod ile durum çubuğu rengini kolaylıkla değiştirebiliyoruz.

Kullanım, SystemUiControlleryalnızca durum çubuğu rengini değiştirmekle sınırlı değildir, ayrıca gezinme çubuğu, sürükleyici mod ve daha fazlası gibi diğer sistem kullanıcı arabirimi yapılandırmaları için de kullanılabilir.

Github.com/im-o depomda jetpack compose kullanarak örnek uygulamam var .

Bitti ve tozlandı, teşekkürler!