2016-03-19 3 views
1

Это мой стильКак изменить цвет панели состояния в Android?

<style name="NoActionbar" parent="android:style/Theme.NoTitleBar"> 

    <item name="android:statusBarColor">#1c465d</item> 

</style 

> 

Я хочу изменить заставку, путем удалить ActionBar , но я понимаю, строка состояния по умолчанию цвета по черным, я не в состоянии изменить цвет статусных на зеленые

Почему это шоу?

Как я могу это сделать?

+0

getActionBar(). SetBackgroundDrawable (GetResources(). GetDrawable (R .drawable.hdr_bar)); –

+0

Обратитесь к этой ссылке [здесь] (http://stackoverflow.com/questions/26496411/android-material-status-bar-color-wont-change). Удачи, Надеюсь это поможет. – Dev

+0

Почему вы не устанавливаете свой экран заставки в действие FullScreen? –

ответ

1

Как было указано выше, установите атрибут colorPrimaryDark в вашем стиле, чтобы все, что вам нравится.

<resources> 
    <!-- inherit from the material theme --> 
    <style name="AppTheme" parent="android:Theme.Material"> 
    <!-- Main theme colors --> 
    <!-- your app branding color for the app bar --> 
    <item name="android:colorPrimary">@color/primary</item> 
    <!-- darker variant for the status bar and contextual app bars --> 
    <item name="android:colorPrimaryDark">@color/primary_dark</item> 
    <!-- theme UI controls like checkboxes and text fields --> 
    <item name="android:colorAccent">@color/accent</item> 
    </style> 
</resources> 

http://developer.android.com/training/material/theme.html

Чтобы сделать это правильно, вы должны объявить значение цвета в color.xml, затем ссылаться на него из стиля.

+0

Это workkkkked !! – Ryan

+0

Я рад, что сработал: D –

1

Вы можете установить строку состояния цвета, определяя colorPrimaryDark деталь:

<item name="colorPrimaryDark">#1c465d</item> 
+0

Он не работает – Ryan

0

перейти к ~ значения/color.xml и заменить colorPrimaryDark

<item name="colorPrimaryDark">#1c465d</item> 
+0

Не работает – Ryan

0

Таким образом, вы можете установить статус бар цвет программно

if (Build.VERSION.SDK_INT >= 21) { 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);   getWindow().setStatusBarColor(getResources().getColor(R.color.primary_dark)); 
}