Строка состояния в приложении Android предоставляет пользователям важную информацию, а также ее можно настроить в соответствии с общим дизайном вашего приложения. В этой статье блога мы рассмотрим различные способы изменения цвета строки состояния в Android с помощью Kotlin. Мы предоставим примеры кода и объясним каждый метод в простой и разговорной форме. Итак, приступим!
Метод 1. Использование представления «Декор окна».
Один простой способ изменить цвет строки состояния — открыть представление «Декор окна» и установить нужный цвет. Вот фрагмент кода, позволяющий добиться этого:
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
window.statusBarColor = getColor(R.color.statusBarColor)
Метод 2: использование контроллера вставок окон.
Начиная с Android 11 (уровень API 30), вы можете использовать контроллер вставок окон для динамического изменения внешнего вида строки состояния. Вот пример того, как изменить цвет строки состояния с помощью этого метода:
window.insetsController?.setSystemBarsAppearance(
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS
)
window.statusBarColor = getColor(R.color.statusBarColor)
Метод 3. Использование базовой библиотеки AndroidX
Если вы используете базовую библиотеку AndroidX, вы можете использовать класс WindowCompatдля изменения цвета строки состояния. Вот пример:
WindowCompat.setDecorFitsSystemWindows(window, false)
WindowCompat.getInsetsController(window, window.decorView)?.apply {
isAppearanceLightStatusBars = true
setStatusBarColor(getColor(R.color.statusBarColor))
}
Метод 4. Создание собственной темы
Другой способ изменить цвет строки состояния — создать собственную тему в файле Styles.xml вашего приложения. Вот пример того, как определить собственную тему и применить ее к своей деятельности:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:statusBarColor">@color/statusBarColor</item>
<!-- Other theme attributes -->
</style>
Затем примените эту тему к своей активности в файле AndroidManifest.xml:
<activity
android:name=".MainActivity"
android:theme="@style/AppTheme"
<!-- Other activity attributes -->
/>
Изменение цвета строки состояния в приложении Android с помощью Kotlin — отличный способ улучшить общий вид вашего приложения. В этой статье мы рассмотрели различные методы достижения этой цели, в том числе использование представления декора окна, контроллера вставок окон, базовой библиотеки AndroidX и создание собственной темы. Следуя этим методам и используя предоставленные примеры кода, вы можете легко настроить цвет строки состояния в соответствии с дизайном вашего приложения.