web-dev-qa-db-ja.com

下部のナビゲーションで非アクティブな色を変更する方法は?

下部のナビゲーションで非アクティブな色を変更できません

enter image description here

そして、これは私のXML

<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
    Android:id="@+id/home_item"
    Android:icon="@drawable/ic_home"
    Android:color="#FFFFFF"
    Android:tint="#FFFFFF"
    Android:backgroundTint="#FFFFFF"
    Android:title="Home"
    />
<item
    Android:id="@+id/setting_item"
    Android:icon="@drawable/ic_setting"
    Android:color="#FFFFFF"
    Android:tint="#FFFFFF"
    Android:backgroundTint="#FFFFFF"
    Android:title="Setting"
    />

そしてこれは私のJava

bottomBar.getBar().setBackgroundColor(getResources().getColor(R.color.bottom_tabs));
bottomBar.setActiveTabColor("#FFFFFE");

誰でも助けることができますか?

16
Haryanto

BottomNavigationViewを使用している場合、ソリューションは簡単です。セレクタを ColorStateList として作成し、そのセレクタをBottomNavigationViewの「itemIconTint」属性に割り当てるだけです。

例えば:

ドロアブル内にファイルを作成

bottom_nav_icon_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/white" />
    <item Android:state_pressed="true" Android:state_enabled="true" Android:color="@Android:color/white" />
    <item Android:color="@color/InactiveBottomNavIconColor" />
</selector>

BotttomNavigationview.xml

    <Android.support.design.widget.BottomNavigationView
        Android:id="@+id/bottomNavMainMenu"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_alignParentBottom="true"
        app:itemBackground="@color/BottomNavBarColor"
        app:itemIconTint="@drawable/bottom_nav_icon_color_selector"
        app:itemTextColor="@drawable/bottom_nav_icon_color_selector"
        app:menu="@menu/bottom_navigation_menu" />
47
chrisli

以下のコードを試してください。その役に立つことを願っています!!!

mBottomBar = BottomBar.attach(this, savedInstanceState);
        mBottomBar.setItems(R.menu.bottombar_menu);
        mBottomBar.getBar().setBackgroundResource(R.color.navigationColor);
        mBottomBar.setOnMenuTabClickListener(new OnMenuTabClickListener() {
0
imam subekti