При разработке мобильных приложений внимание к деталям является ключом к созданию удобного и визуально привлекательного пользовательского интерфейса. Одним из аспектов, который часто упускают из виду, является цвет строки состояния, который можно настроить в соответствии с общей цветовой схемой приложения. Этот небольшой штрих может значительно улучшить эстетику приложения и обеспечить целостность визуального восприятия для пользователей. В этой статье мы рассмотрим несколько методов и примеры кода, позволяющие добиться соответствия цвета строки состояния цвету приложения в Android.
Метод 1: использование класса Window (Java)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(ContextCompat.getColor(this, R.color.status_bar_color));
}
Метод 2: использование класса Window (Kotlin)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
window.apply {
addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
statusBarColor = ContextCompat.getColor(this@MainActivity, R.color.status_bar_color)
}
}
Метод 3. Использование библиотеки SystemBarTintManager (Java)
SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
tintManager.setStatusBarTintColor(ContextCompat.getColor(this, R.color.status_bar_color));
Метод 4. Использование библиотеки SystemBarTintManager (Kotlin)
val tintManager = SystemBarTintManager(this)
tintManager.isStatusBarTintEnabled = true
tintManager.setStatusBarTintColor(ContextCompat.getColor(this, R.color.status_bar_color))
Метод 5. Использование класса WindowInsetsController (Java/Kotlin)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
WindowInsetsController controller = getWindow().getInsetsController();
if (controller != null) {
controller.setSystemBarsAppearance(0, WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS);
controller.setSystemBarsColor(ContextCompat.getColor(this, R.color.status_bar_color));
}
}
Реализуя любой из упомянутых выше методов, разработчики могут гарантировать, что цвет строки состояния полностью соответствует цвету приложения, обеспечивая визуально приятный интерфейс для пользователей приложения. Внимание к таким деталям улучшает общее впечатление пользователя и демонстрирует приверженность качественному дизайну.