Android棒棒糖更改导航栏颜色
在我的应用程序中,我需要更改底部的导航栏颜色。 我看了很多post,但无法find解决scheme。 我正在使用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>
它可以在styles.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版本<21。
第二种方法(适用于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)); }
以下是如何在values-v21 / style.xml文件夹中使用xml执行此操作的方法:
<item name="android:navigationBarColor">@color/your_awesome_color</item>
有一些方法来改变导航栏的颜色。
值-V21 / style.xml
<item name="android:navigationBarColor">@color/navigationbar_color</item>
值/ style.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));
使用Compat库 –
if (Build.VERSION.SDK_INT >= 21) { getWindow().setNavigationBarColor(ContextCompat.getColor(this, R.color.primary)); }
您可以在值-v21 / style.xml文件夹中添加以下行:
<item name="android:navigationBarColor">@color/theme_color</item>
您可以在styles.xml文件\ app \ src \ main \ res \ values \ styles.xml中直接更改它
这个工作在旧版本,我改变它在KitKat并来到这里。