it-swarm.com.ru

Как сделать строку состояния белой с черными значками?

Я хочу изменить цвет строки состояния моего приложения, чтобы оно было белым с черными значками (вместо черного по умолчанию с белыми значками). Есть ли способ сделать это?

36
Jon

С Android M (уровень API 23) вы можете добиться этого из темы с атрибутом Android:windowLightStatusBar.

Правка : 

Как упоминал Pdroid, это также может быть достигнуто программно:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); 
64
wrecker

Можно сделать белую строку состояния с серыми значками, например, этот путь для SDK> = 23:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="Android:windowLightStatusBar">true</item>
</style>

в вашем файле styles.xml и установите colorPrimary в белый цвет или программно:  

getWindow().setStatusBarColor(Color.WHITE);
15
Rammgarot

Просто добавил в мою активность на Kotlin:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                window.decorView.systemUiVisibility =View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
                window.statusBarColor = Color.WHITE
            }
7
Serg Burlaka

Нет такого способа, если только у вас нет контроля над всем rom, чтобы настроить это вручную. То, что я предлагаю вам сделать, это использовать светло-серый цвет для строки состояния в вашей теме, как это делает диск Google. 

Правка: пожалуйста, обратитесь к ответу @Wrekcker, как это изменилось в Android M.

2
k0sh

просто добавь это в свой стиль

<item name="Android:windowDrawsSystemBarBackgrounds">true</item>
<item name="Android:statusBarColor">@Android:color/transparent</item>

set Android: windowDrawsSystemBarBackgrounds to true * . Это флаг, описание которого приведено ниже:

Флаг, указывающий, отвечает ли это окно за отрисовку фона для системных панелей. Если значение true и окно не является плавающим, системные панели отображаются прозрачным фоном, а соответствующие области в этом окне заполняются цветами, указанными в {@link Android.R.attr # statusBarColor} и {@link Android.R .attr # navigationBarColor}. Соответствует {@link Android.view.WindowManager.LayoutParams # FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS}.

1
Ayejuni Ilemobayo Kings