仅在单击 BottomNavigationView 时显示的项目
Item showing only on click on BottomNavigationView
所以我想要在屏幕底部有一个导航栏,其中包含 4 个项目,但由于某种原因,只有第一个显示,其他的只有在我单击它们时才会出现。
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/white"
app:itemTextColor="@color/black"
app:menu="@menu/navigation_bar_bottom_menu" />
我的菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/nav_home"
android:title="@string/navigation_bar_home_text" />
<item
android:id="@+id/nav_inbox"
android:title="@string/navigation_bar_inbox_text" />
<item
android:id="@+id/nav_notes"
android:title="@string/navigation_bar_notes_text" />
<item
android:id="@+id/nav_profile"
android:title="@string/navigation_bar_profile_text" />
</menu>
栏是这样显示的,只是第一个项目显示:
这是例子
创建颜色文件
navigation_item_text_color.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/black" />
<item android:color="@android:color/darker_gray" />
</selector>
然后放入 color
文件夹(如果你没有颜色文件夹 -> 只需手动创建它)
然后
<com.google.android.material.bottomnavigation.BottomNavigationView
...
app:itemTextColor="@color/navigation_item_text_color" />
更多
如果您的底部菜单项有图标,您可以更改图标颜色,例如
app:itemIconTint="@color/navigation_item_text_color"
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="@color/gray_background"
app:itemIconTint="@color/nav_item_state_list"
app:itemTextColor="@color/nav_item_state_list"
app:labelVisibilityMode="labeled"
android:theme="@style/Widget.BottomNavigationView"
app:menu="@menu/bottom_navigation_items"/>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimaryLite"
android:state_pressed="true"/>
<item android:color="@color/colorPrimaryLite"
android:state_checked="true"/>
<item android:color="@color/grayDark"
android:state_checked="false"/>
<item android:color="@color/white"/>
</selector>
所以我想要在屏幕底部有一个导航栏,其中包含 4 个项目,但由于某种原因,只有第一个显示,其他的只有在我单击它们时才会出现。
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/white"
app:itemTextColor="@color/black"
app:menu="@menu/navigation_bar_bottom_menu" />
我的菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/nav_home"
android:title="@string/navigation_bar_home_text" />
<item
android:id="@+id/nav_inbox"
android:title="@string/navigation_bar_inbox_text" />
<item
android:id="@+id/nav_notes"
android:title="@string/navigation_bar_notes_text" />
<item
android:id="@+id/nav_profile"
android:title="@string/navigation_bar_profile_text" />
</menu>
栏是这样显示的,只是第一个项目显示:
这是例子
创建颜色文件 navigation_item_text_color.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/black" />
<item android:color="@android:color/darker_gray" />
</selector>
然后放入 color
文件夹(如果你没有颜色文件夹 -> 只需手动创建它)
然后
<com.google.android.material.bottomnavigation.BottomNavigationView
...
app:itemTextColor="@color/navigation_item_text_color" />
更多
如果您的底部菜单项有图标,您可以更改图标颜色,例如
app:itemIconTint="@color/navigation_item_text_color"
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="@color/gray_background"
app:itemIconTint="@color/nav_item_state_list"
app:itemTextColor="@color/nav_item_state_list"
app:labelVisibilityMode="labeled"
android:theme="@style/Widget.BottomNavigationView"
app:menu="@menu/bottom_navigation_items"/>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimaryLite"
android:state_pressed="true"/>
<item android:color="@color/colorPrimaryLite"
android:state_checked="true"/>
<item android:color="@color/grayDark"
android:state_checked="false"/>
<item android:color="@color/white"/>
</selector>