我希望我的导航栏包括所有项目的图标和文本,但是我只获得第一个项目的文本和图标(其余的只显示图标)。
这似乎取决于顺序,因为我已经切换了项目的顺序,只有第一个项目同时显示徽标和图标。这意味着在其余的项中没有语法错误,因为它们的行为都是相同的。
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@android:color/white"
app:itemTextColor="@android:color/white"
app:layout_constraintBottom_toBottomOf="@+id/linear"
android:layout_gravity="start"
app:layout_constraintRight_toRightOf="@+id/linear"
app:menu="@menu/bottom_nav_menu" />
<?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/Home"
android:enabled="true"
android:icon="@drawable/baseline_home_white_18dp"
android:title="@string/home"
app:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/Social"
android:enabled="true"
android:icon="@drawable/baseline_public_white_18dp"
android:title="Social"
app:showAsAction="ifRoom|withText" />
<item
android:id="@+id/Diagnoses"
android:enabled="true"
android:icon="@drawable/baseline_image_search_white_18dp"
android:title="@string/diagnoses"
app:showAsAction="ifRoom|withText" />
<item
android:id="@+id/Inbox"
android:title="Artists"
android:enabled="true"
android:icon="@drawable/baseline_inbox_white_18dp"
app:showAsAction="ifRoom|withText" />
<item
android:id="@+id/rewards"
android:enabled="true"
android:icon="@drawable/baseline_store_mall_directory_white_18dp"
android:title="@string/rewards"
app:showAsAction="ifRoom|withText" />
</menu>
我希望每个项目上都有文本和图标,但是文本只显示在第一个项目上(与哪个项目放在第一个项目无关)。
发布于 2019-06-03 00:26:18
在设置例如itemTextColor
时,您应该使用选择器而不是颜色来支持选中状态。
res/color/选择器底部导航.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#fff" android:state_checked="false" />
<item android:color="#000" />
</selector>
https://stackoverflow.com/questions/56416702
复制相似问题