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并来到这里。