当前位置: 首页 > 知识库问答 >
问题:

AndroidLollipop更改导航栏颜色

嵇出野
2023-03-14

在我的应用程序中,我需要更改底部导航栏的颜色。我看了很多帖子,但没有找到解决办法。我正在使用appCompat库。

v21/样式。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>

共有3个答案

周伟泽
2023-03-14

以下是更改导航栏颜色的一些方法。

通过XML

1-值-v21/样式。xml

<item name="android:navigationBarColor">@color/navigationbar_color</item>

或者,如果您只想使用值/文件夹执行此操作,那么-

2-值/样式。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));
}

请查找链接以了解更多详细信息-http://developer.android.com/reference/android/view/Window.html#setNavigationBarColor(内景)

谭建章
2023-03-14

下面是如何通过编程实现的:

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));
}

以下是如何在value es-v21/style.xml文件夹中使用xml执行此操作:

<item name="android:navigationBarColor">@color/your_color</item>
裴钧
2023-03-14

它可以在样式内完成。xml使用

<item name="android:navigationBarColor">@color/theme_color</item>

window.setNavigationBarColor(@ColorInt int color)

http://developer.android.com/reference/android/view/Window.html#setNavigationBarColor(内景)

请注意,该方法是在AndroidLollipop中引入的,在API版本中不起作用

第二种方法(适用于KitKat)是在清单中将windowTranslucentNavigation设置为true,并在导航栏下方放置一个彩色视图。

 类似资料:
  • 问题内容: 我正在尝试更改导航器栏的颜色,但是我发现只有导航器是根导航器,这才是不可能的。 我正在尝试: 我所有与导航器控制器有关。但是什么都没有改变。实际上,我试图从情节提要中进行相同的操作,但只有在我处于第一个导航器中时,它才有效。 我试图阅读与此问题有关的所有内容,但一无所获 我可以像这样将任何项目添加到导航栏 问题答案: 实际上,我发现该解决方案将用于: 然后在每个视图控制器中,我们需要另

  • 我尝试了很多方法来改变导航栏的颜色,比如 AndroidLollipop更改导航栏颜色 android更改导航栏颜色 如何更改系统导航栏颜色 什么都不管用 我将该项目添加到样式中。xml-使用Android 8.1 任何人都知道在Xamarin做这件事的最佳方式是什么。Android 更新:我在样式文件中尝试了以下代码

  • 我想要一个半透明的状态栏和导航栏,其他颜色不能像蓝色或白色那样半透明 我的代码 活动 状态栏半透明良好,但导航栏颜色不变。为什么? 导航栏

  • 我现在有一段html,它代表我的导航栏的相关部分: 我有一个css,我希望用它来改变导航栏的文本颜色: 唯一的问题是文本颜色保持不变。我还看到一个非常相似的问题没有解决。我打赌谁能解决这个问题,谁就能解决另一个问题。

  • 问题内容: 我正在使用Picker View,允许用户为整个应用程序选择颜色主题。 我计划更改导航栏,背景以及选项卡栏(如果可能)的颜色。 我一直在研究如何执行此操作,但找不到任何Swift示例。谁能给我一个示例代码,我将需要使用该代码来更改导航栏颜色和导航栏文本颜色? 设置了Picker View,我只是在寻找更改UI颜色的代码。 问题答案: 导航栏: 用所需的UIColor替换greenCol

  • 如何设置没有背景色的导航栏? 当在div之后向下滚动导航条时,导航条会得到一个新的背景颜色(导航条应该固定在顶部,我在引导中使用) 我尝试过一些教程,但没有成功。 这是网站:http://attafothman.olympe.in/ 我说的是上面那个黑色导航条。