使用 material 设计,底部导航选项卡所选项目的背景颜色不同
different background color to bottom navigation tab selected item by using material design
我想在图像中实现所选项目的背景颜色,如下图
但不幸的是,每个人都在尝试使用第三方库来回答这个问题。
我想用 material 设计组件本身来实现这个
这是我的代码
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/id_navigation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom|start"
app:itemBackground="@android:color/white"
app:itemIconTint="@drawable/bottom_navigation_style"
app:itemTextColor="@drawable/bottom_navigation_style"
app:menu="@menu/bottom_navigation_menu_items" />
style.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimary" android:state_selected="true" />
<item android:color="@android:color/darker_gray" android:state_selected="false" />
</selector>
只用material设计组件能不能实现,回答就说吧
提前致谢
请试一试,在底部导航视图中给出 属性
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:gravity="bottom"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/id_navigation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/drwable_value_selected"
app:itemBackground="@drawable/drwable_value_selected"
app:menu="@menu/menu" />
</LinearLayout>
应用程序:项目背景
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/dark" android:state_checked="true"/>
<item android:drawable="@color/white"/>
检查您的菜单项
<item
android:id="@+id/action_message"
android:enabled="true"
android:checkable="true"
android:title="search"
app:showAsAction="ifRoom" />
checkable true 对于 select 和 unselect 背景颜色是必须的。
好吧,我发现一些奇怪的事情是你不能在同一个文件上有背景颜色和 text/icon 颜色样式。
所以你需要两个文件
bottom_navigation_style.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimary" android:state_selected="true" />
<item android:color="@android:color/darker_gray" android:state_selected="false" />
</selector>
bottom_navigation_style_background.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimaryDark" android:state_checked="true" />
<item android:drawable="@android:color/white" android:state_checked="false" />
</selector>
然后在 activity xml 你需要像这样添加到 itemBackground
app:itemBackground="@drawable/bottom_navigation_style_background"
app:itemIconTint="@drawable/bottom_navigation_style"
app:itemTextColor="@drawable/bottom_navigation_style"
它肯定会起作用。
我想在图像中实现所选项目的背景颜色,如下图
但不幸的是,每个人都在尝试使用第三方库来回答这个问题。
我想用 material 设计组件本身来实现这个
这是我的代码
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/id_navigation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom|start"
app:itemBackground="@android:color/white"
app:itemIconTint="@drawable/bottom_navigation_style"
app:itemTextColor="@drawable/bottom_navigation_style"
app:menu="@menu/bottom_navigation_menu_items" />
style.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimary" android:state_selected="true" />
<item android:color="@android:color/darker_gray" android:state_selected="false" />
</selector>
只用material设计组件能不能实现,回答就说吧
提前致谢
请试一试,在底部导航视图中给出 属性
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:gravity="bottom"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/id_navigation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/drwable_value_selected"
app:itemBackground="@drawable/drwable_value_selected"
app:menu="@menu/menu" />
</LinearLayout>
应用程序:项目背景
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/dark" android:state_checked="true"/>
<item android:drawable="@color/white"/>
检查您的菜单项
<item
android:id="@+id/action_message"
android:enabled="true"
android:checkable="true"
android:title="search"
app:showAsAction="ifRoom" />
checkable true 对于 select 和 unselect 背景颜色是必须的。
好吧,我发现一些奇怪的事情是你不能在同一个文件上有背景颜色和 text/icon 颜色样式。
所以你需要两个文件
bottom_navigation_style.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimary" android:state_selected="true" />
<item android:color="@android:color/darker_gray" android:state_selected="false" />
</selector>
bottom_navigation_style_background.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimaryDark" android:state_checked="true" />
<item android:drawable="@android:color/white" android:state_checked="false" />
</selector>
然后在 activity xml 你需要像这样添加到 itemBackground
app:itemBackground="@drawable/bottom_navigation_style_background"
app:itemIconTint="@drawable/bottom_navigation_style"
app:itemTextColor="@drawable/bottom_navigation_style"
它肯定会起作用。