为 bottomavigationview 设置 active/inactive 个可绘制对象
Set active/inactive drawables for bottomavigationview
我正在尝试为 bottomnavigationview 菜单项放置 active/inactive 可绘制对象。在 SO 中浏览几个 post 并在 Google 中浏览我只能找到使用 app:itembackgroundColor 为 active/inactive 状态设置颜色我想要实现的选中时设置为可绘制。
我为菜单项试过这个
<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" />
</menu>
哪里
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>
bottomnavigationview代码如下
<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" />
但似乎不起作用。
任何帮助将不胜感激。
尝试:
navigation.setItemIconTintList(null);
在您的代码中。
底部导航视图默认使用颜色着色,因此您必须禁用它。
我正在尝试为 bottomnavigationview 菜单项放置 active/inactive 可绘制对象。在 SO 中浏览几个 post 并在 Google 中浏览我只能找到使用 app:itembackgroundColor 为 active/inactive 状态设置颜色我想要实现的选中时设置为可绘制。
我为菜单项试过这个
<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" />
</menu>
哪里
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>
bottomnavigationview代码如下
<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" />
但似乎不起作用。
任何帮助将不胜感激。
尝试:
navigation.setItemIconTintList(null);
在您的代码中。
底部导航视图默认使用颜色着色,因此您必须禁用它。