我想更改所选项目的整个图标,而不是底部导航视图中的颜色。我有每个图标的选择器,但我不知道在哪里添加该图像选择器。请任何人告诉我解决方案。
码:
private void handleBottomNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
switch (menuItem.getItemId()) {
//Replacing the main content with ContentFragment Which is our Inbox View;
case R.id.action_calendar:
switchFragment(new PatientAppointmentStatusFragment(), "TODAY");
break;
case R.id.action_case_sheets:
switchFragment(new CaseSheetFragment(), "Case Sheet");
break;
case R.id.action_history:
switchFragment(new HistoryFragment(), "History");
break;
case R.id.action_reports:
switchFragment(new ReportsFragment(), "Reports");
break;
case R.id.action_billing:
switchFragment(new BillingFragment(), "Billing");
break;
}
}
菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_calendar"
android:enabled="true"
android:icon="@drawable/menu_calendar_bg"
android:title="@string/menu_calendar"
app:showAsAction="always|withText" />
<item
android:id="@+id/action_case_sheets"
android:enabled="true"
android:icon="@drawable/menu_case_sheets_bg"
android:title="@string/menu_case_sheets"
app:showAsAction="always|withText" />
<item
android:id="@+id/action_history"
android:enabled="true"
android:icon="@drawable/menu_history_bg"
android:title="@string/menu_history"
app:showAsAction="always|withText" />
<item
android:id="@+id/action_reports"
android:enabled="true"
android:icon="@drawable/menu_reports_bg"
android:title="@string/menu_reports"
app:showAsAction="always|withText" />
<item
android:id="@+id/action_billing"
android:enabled="true"
android:icon="@drawable/menu_billing_bg"
android:title="@string/menu_billing"
app:showAsAction="always|withText" />
</menu>
这是底部导航视图xml的代码。
<BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48dp"
android:layout_alignParentBottom="true"
app:itemBackground="@drawable/tab_background"
app:itemIconTint="@color/navigation_item_color"
app:itemTextColor="@color/navigation_item_color"
app:menu="@menu/bottom_navigation_main" />
我尝试了以下链接,但不适用于我。
链接Android: Bottom Navigation View - change icon of selected item
最佳答案
您应该在res文件夹中创建一个文件夹颜色。在res / color文件夹中,创建一个名称为“ navigation_item_color”的文件,并使用以下代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--state is enabled and checked-->
<item android:color="@color/white" android:state_enabled="true" android:state_checked="true" />
<!--state is enabled and not checked-->
<item android:color="@color/colorPrimaryDark" android:state_enabled="true" android:state_checked="false" />
<!--state (menu item) is disabled -->
<!-- <item android:state_enabled="false" android:color="@color/light_black" />-->
</selector>