Android lollipop изменить цвет панели навигации
в моем приложении мне нужно изменить цвет нижней панели навигации. Я смотрел много сообщений, но не могу найти решение. Я использую библиотеку appCompat. Нужна помощь, пожалуйста. Спасибо заранее.
v21 / styles.xml
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:windowBackground">@drawable/bgpreview</item>
<item name="android:colorPrimary">@color/MyColor</item>
<item name="android:colorPrimaryDark">@color/MyColor</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:textColorPrimary">@color/MyColor</item>
<item name="colorAccent">@color/MyColor</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
<item name="windowActionBar">false</item>
<item name="android:textAllCaps">false</item>
</style>
6 ответов:
Это можно сделать внутри стили.xml используя
<item name="android:navigationBarColor">@color/theme_color</item>
или
window.setNavigationBarColor(@ColorInt int color)
http://developer.android.com/reference/android/view/Window.html#setNavigationBarColor(int)
обратите внимание, что метод был введен в Android Lollipop и не будет работать на API версии
второй метод (работает на KitKat) состоит в том, чтобы установить windowTranslucentNavigation в true в манифесте и поместить цветной вид под навигационная панель.
вот как это сделать программно:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setNavigationBarColor(getResources().getColor(R.color.your_awesome_color)); }
использование библиотеки Compat:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setNavigationBarColor(ContextCompat.getColor(this, R.color.primary)); }
вот как это сделать с xml в значениях-v21 / style.папка xml:
<item name="android:navigationBarColor">@color/your_color</item>
вот несколько способов изменить цвет панели навигации.
по XML
1-значения-v21 / style.xml
<item name="android:navigationBarColor">@color/navigationbar_color</item>
или если вы хотите сделать это только с помощью значений/ папка затем-
2 - значения/стиль.xml
<resources xmlns:tools="http://schemas.android.com/tools"> <item name="android:navigationBarColor" tools:targetApi="21">@color/navigationbar_color</item>
вы также можете изменить цвет панели навигации По Программированию.
if (Build.VERSION.SDK_INT >= 21) getWindow().setNavigationBarColor(getResources().getColor(R.color.navigationbar_color));
С Помощью Совместимости Библиотека -
if (Build.VERSION.SDK_INT >= 21) { getWindow().setNavigationBarColor(ContextCompat.getColor(this, R.color.primary)); }
пожалуйста, найдите ссылку для более подробной информации - http://developer.android.com/reference/android/view/Window.html#setNavigationBarColor(int)
вы можете добавить следующую строку значения-v21 / style.xml:
<item name="android:navigationBarColor">@color/theme_color</item>