为bottomavigationview设置活动/非活动可绘制对象

时间:2018-06-27 06:34:46

标签: android bottomnavigationview

我正在尝试为bottomnavigationview菜单项放置活动/非活动可绘制对象。在SO中浏览几篇文章并在Google中浏览时,我只能使用 app:itembackgroundColor 找到要设置为活动/不活动状态的颜色,选择时要实现可绘制的设置。

我为菜单项尝试了

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item
    android:id="@+id/navigation_home"
    android:icon="@drawable/home_navigation_view_home_selector"
    android:checked="false"
    android:title="@string/title_home" />

<item
    android:id="@+id/navigation_dashboard"
    android:icon="@drawable/home_navigation_view_oppurtunity_selector"
    android:checked="false"
    android:title="@string/title_oppurtunity" />

<item
    android:id="@+id/navigation_notifications"
    android:icon="@drawable/home_navigation_view_leads_selector"
    android:checked="false"
    android:title="@string/title_leads" />

<item
    android:id="@+id/navigation_settings"
    android:icon="@drawable/home_navigation_view_settings_selector"
    android:checked="false"
    android:title="@string/title_settings" />

其中 home_navigation_view_home_selector / home_navigation_view_oppurtunity_selector / home_navigation_view_leads_selector / home_navigation_view_settings_selector 是每个项目的选择器。

home_navigation_view_home_selector.xml

<selector 
 xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_home_selected" 
      android:state_checked="true" />
<item android:drawable="@drawable/ic_home_black_24dp" />
</selector>

底部导航视图代码如下

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:background="?android:attr/windowBackground"
    android:foreground="?attr/selectableItemBackground"
    app:menu="@menu/navigation" />

但似乎不起作用。

先谢谢了。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试:

navigation.setItemIconTintList(null);

在您的代码中。

默认情况下,底部导航视图使用颜色着色,因此必须将其禁用。