Цвет строки состояния - Android Studio

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


person d02d33pak    schedule 08.10.2015    source источник
comment
Привет! Я также разместил подробный ответ .. не стесняйтесь проверить его!   -  person Kushal Sharma    schedule 08.10.2015


Ответы (3)


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

//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" >

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

person Mochamad Taufik Hidayat    schedule 08.10.2015
comment
в вашей деятельности вы хотите показать цвет строки состояния, просто скопируйте и вставьте в метод onCreate - person Mochamad Taufik Hidayat; 08.10.2015
comment
Будет ли это автоматически изменять цвет, чтобы он соответствовал цвету панели действий, или мне придется изменить определенное значение, чтобы придать ему цвет? (Извините, я новичок) - person d02d33pak; 08.10.2015
comment
да, вы должны объявить в color.xml, например, <color name="primary_dark">#3f41ac</color> вы можете изменить панель действий соответствия цвета, изменив этот гекс - person Mochamad Taufik Hidayat; 08.10.2015
comment
Большое спасибо... Теперь, когда вы здесь и отвечаете, я собираюсь плыть по течению и задать вам еще один вопрос. Как теперь изменить цвет панели действий? (Я думаю, это называется панелью действий, верно? Панель под строкой состояния?) - person d02d33pak; 08.10.2015

Вы можете сделать это двумя способами: добавить атрибуты в свою тему, например

стили.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"));
}
person Kushal Sharma    schedule 08.10.2015
comment
СПАСИБО БОЛЬШОЕ... ???? - person d02d33pak; 08.10.2015
comment
Приложение не вылетит, если оно работает на версии Android старше 5.0, верно? - person d02d33pak; 08.10.2015
comment
Это не будет. Просто добавить, как вы новичок. Попробуйте также использовать Toolbar. Вы можете заменить панель действий панелью инструментов, и это даст вам больше контроля над вашей панелью действий. ">chris.banes.me/2014/10/17/appcompat-v21 - person Kushal Sharma; 08.10.2015

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

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

<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">#000000</item>
person Mohit Suthar    schedule 08.10.2015