如何更改活动的底栏选项卡背景颜色

时间:2017-05-12 11:29:48

标签: android

我在下面显示的图片链接中使用的是roughike / BottomBar,所以我怎么看起来像这样。

https://i.stack.imgur.com/Wybr2.png请帮忙

2 个答案:

答案 0 :(得分:0)

您可以添加styles.xml

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

或以编程方式

window.setNavigationBarColor(@ColorInt int color)

当然,您应该记住,这只适用于API&gt; 21。

另请参阅此link

答案 1 :(得分:0)

定义一个选择器drawable,并为选定和未选择的选项卡制作两个drawable 选择器选项卡tab_background.xml

   <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/tab_background_selected" android:state_selected="true" />
    <item android:drawable="@drawable/tab_background_unselected" android:state_selected="false" android:state_focused="false" android:state_pressed="false" />
</selector>
可绘制文件夹中的

tab_background_selected.xml

  <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="#d13fdd1a" />
</shape>

tab_background_unselected.xml在drawable文件夹中

   <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="#3F51B5" />
</shape>

然后在你的style.xml中提到你的选择器使用

 <style name="Base.Widget.Design.TabLayout" parent="android:Widget">
    <item name="tabBackground">@drawable/tab_background</item>
    <item name="tabIndicatorColor">#ff00ff</item>
    <item name="tabIndicatorHeight">2dp</item>
</style>