2015-10-08 3 views
1

Как изменить Status Bar Color моего приложения, что я делаю в Android Studio так, что он переходит в статический цвет на Android Lollipop 5.0 или выше и не авария на Mobile работает с более низкой версией ОС Android.Status Bar Цвет - Android Студия

+0

Эй! Я также разместил подробный ан ... не стесняйтесь проверить это! –

ответ

0

Попробуйте использовать это, это работает для меня

//changing statusbar 
if (android.os.Build.VERSION.SDK_INT >= 21){ 
       Window window = this.getWindow(); 
       window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
       window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
       window.setStatusBarColor(this.getResources().getColor(R.color.primary_dark)); 
      } 

Для изменения цвета ActionBar:

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
     <item name="android:background">#ffff00</item> 
    </style> 

и объявить о манифесте в прикладной тег

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/MyActionBar" > 

надеюсь, что это поможет

+0

Где я могу поместить этот фрагмент кода? – d02d33pak

+0

в вашей деятельности вы хотите показать цвет статуэтки, просто скопируйте пасту в метод onCreate –

+0

Будет ли это автоматически менять цвет в соответствии с цветом панели действий или мне нужно будет изменить определенное значение, чтобы придать ему цвет? (Извините, я новичок) – d02d33pak

0

Вы можете сделать это 2 способами, либо добавить атрибуты к вашей теме, как

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <!-- colorPrimary is used for the default action bar background --> 
    <item name="colorPrimary">>#ED3B3B</item> 

    <!-- colorPrimaryDark is used for the status bar --> 
    <item name="colorPrimaryDark">#BE2F2F</item> 

    <!-- colorAccent is used as the default value for colorControlActivated 
     which is used to tint widgets --> 
    <item name="colorAccent">#4DB6AC</item> 

    <!-- You can also set colorControlNormal, colorControlActivated 
     colorControlHighlight & colorSwitchThumbNormal. --> 
</style> 

и приложение тег AndroidManifest должен иметь атрибут темы с AppTheme

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> // This 

или если вы хотите изменить цвет строки состояния на более позднем этапе динамически, скажем, нажатием кнопки или после загрузки изображения вы можете использовать внутри своего класса Java

if (android.os.Build.VERSION.SDK_INT >= 21){ 
    Window window = activity.getWindow(); 
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
    window.setStatusBarColor("your color")); 
} 
+1

СПАСИБО ВАМ ОЧЕНЬ МНОГО ... – d02d33pak

+0

Приложение не будет разбиваться, если оно работает на версии Android старше 5.0 вправо? – d02d33pak

+0

Это не так. Просто добавьте, поскольку вы новичок. Попробуйте также использовать «Панель инструментов». Вы можете заменить панель действий панелью инструментов, и это даст вам больше контроля над панелью действий. Https://chris.banes.me/2014/10/17/appcompat-v21/ –

0

Пожалуйста, добавьте это в вашем стиле приложение

<item name="colorPrimary">>#FFFF00</item> 

<!-- colorPrimaryDark is used for the status bar --> 
<item name="colorPrimaryDark">#000000</item>