Как изменить цвет строки состояния моего приложения, которое я создаю в Android Studio, чтобы он менялся на статический цвет на Android Lollipop 5.0 или более поздней версии и не t аварийно завершает работу на мобильных устройствах с более ранней версией ОС Android.
Цвет строки состояния - Android Studio
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
в вашей деятельности вы хотите показать цвет строки состояния, просто скопируйте и вставьте в метод onCreate
- person Mochamad Taufik Hidayat; 08.10.2015
Будет ли это автоматически изменять цвет, чтобы он соответствовал цвету панели действий, или мне придется изменить определенное значение, чтобы придать ему цвет? (Извините, я новичок)
- person d02d33pak; 08.10.2015
да, вы должны объявить в color.xml, например,
<color name="primary_dark">#3f41ac</color>
вы можете изменить панель действий соответствия цвета, изменив этот гекс
- person Mochamad Taufik Hidayat; 08.10.2015
Большое спасибо... Теперь, когда вы здесь и отвечаете, я собираюсь плыть по течению и задать вам еще один вопрос. Как теперь изменить цвет панели действий? (Я думаю, это называется панелью действий, верно? Панель под строкой состояния?)
- 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
СПАСИБО БОЛЬШОЕ... ????
- person d02d33pak; 08.10.2015
Приложение не вылетит, если оно работает на версии Android старше 5.0, верно?
- person d02d33pak; 08.10.2015
Это не будет. Просто добавить, как вы новичок. Попробуйте также использовать
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