小编典典

Android棒棒糖更改导航栏颜色

all

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

阅读 60

收藏
2022-08-02

共1个答案

小编典典

它可以在 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,并在导航栏下方放置一个彩色视图。

2022-08-02