1. ホーム
  2. android

[解決済み] Android lollipop ナビゲーションバーの色を変更する

2022-04-22 15:50:28

質問

私のアプリでは、下のナビゲーションバーの色を変更する必要があります。多くの投稿を見ましたが、解決策を見つけることができません。私は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>

解決方法は?

内部で行うことができます。 スタイル.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では動作しないことに注意してください。

2 つ目の方法 (KitKat で動作) は、マニフェストで windowTranslucentNavigation を true に設定し、ナビゲーション バーの下に色付きのビューを配置する方法です。