我正在尝试制作一个有点棘手的底部导航。
实际上,我想要这种底部导航:
当选择每个选项卡时,它们都有不同的颜色。例如,在选择“measure”时将以红色显示(图标和标题),而在选择“profile”时将为绿色...
因此,我尝试使用每个菜单项的选择器
但是颜色没有应用。图标成功更改(我尝试在选择项目时放置完全不同的图标),但是选项卡标题的颜色没有更改。
我尝试删除底部导航中的两个属性:
app:itemTextColor="@color/black"
app:itemIconTint="@color/black"
但问题变得更糟了,因为当选中一个标签时,我的主题应用的颜色(primary)被应用。
我的底部导航:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:menu="@menu/main_bottom_navigation"
style="@style/BottomNavigationView"
app:labelVisibilityMode="labeled"
android:layout_alignParentBottom="true" />
我的一个选择器(适用于所有项目):
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Pressed state -->
<item android:drawable="@drawable/bottom_bar_journal_on"
android:color="@color/red_FF623E"
android:state_checked="true"/>
<!-- Default state -->
<item android:drawable="@drawable/bottom_bar_journal_off"
android:color="@color/background_yellow"
android:state_checkable="false"/>
</selector>
我的菜单(我应用所有选择器的地方):
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_journal"
android:enabled="true"
android:icon="@drawable/bottom_bar_journal"
android:title="@string/main_menu_journal"
app:showAsAction="withText" />
<item
android:id="@+id/action_measure"
android:enabled="true"
android:icon="@drawable/bottom_bar_measure_off"
android:title="@string/main_menu_measure"
app:showAsAction="withText" />
<item
android:id="@+id/action_add"
android:enabled="false"
android:title=""
app:showAsAction="withText" />
<item
android:id="@+id/action_treatment"
android:enabled="true"
android:icon="@drawable/bottom_bar_treatment_off"
android:title="@string/main_menu_treatment" />
<item
android:id="@+id/action_profile"
android:enabled="true"
android:icon="@drawable/bottom_bar_profile"
android:title="@string/main_menu_profile"
app:showAsAction="withText" />
</menu>