如何设置底部导航栏选项相同的颜色?

时间:2017-08-01 13:00:02

标签: java android xml android-xml

在我的底部导航栏中,我有3个选项。 在底部导航栏默认 shown中,选择一个选项颜色,另外两个选项是另一种颜色。我want 所有3个选项颜色相同。我该怎么办?

xml代码:

 <android.support.design.widget.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true"
    app:menu="@menu/my_navigation_items"/>

菜单xml(my_navigation_items):

 <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:id="@+id/action_share"
     android:title="@string/menu_share"
     android:icon="@drawable/ic_share" />
   <item android:id="@+id/action_fav"
     android:title="@string/menu_fav"
     android:icon="@drawable/ic_unfav" />
   <item
     android:id="@+id/action_delete"
     android:icon="@drawable/ic_delete"
     android:title="@string/menu_delete" />
</menu>

java代码:

  bottomNavigationView.setOnNavigationItemSelectedListener(
            new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                    switch (item.getItemId()) {
                        case R.id.action_share:

                        case R.id.action_fav:

                        case R.id.action_delete:

                    }
                    return true;
                }
            });

2 个答案:

答案 0 :(得分:0)

查看底部导航栏组件的材料设计文档

https://material.io/guidelines/components/bottom-navigation.html#bottom-navigation-specs

尝试将android:state_enabled用于选择器项属性。

答案 1 :(得分:0)

一个技巧可能对你有所帮助。

app:itemIconTint 是BottomNavigationView中的属性。

BottomNavigationView

中添加 bottom_navigation_color_selector.xml
<android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@android:color/white"
        app:elevation="8dp"
        app:itemIconTint="@drawable/bottom_navigation_color_selector"
        app:itemTextColor="@drawable/bottom_navigation_color_selector"
        app:menu="@menu/bottom_sheet_menu" />

<强> bottom_navigation_color_selector.xml

 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@android:color/darker_gray" />
    <item android:color="@android:color/darker_gray"  />
</selector>