在我的应用程序中,我需要更改底部导航栏的颜色。我看了很多帖子,但找不到解决方案。我正在使用 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,并在导航栏下方放置一个彩色视图。