gpt4 book ai didi

Android 底部导航更改项目选择的文本和图标色调

转载 作者:搜寻专家 更新时间:2023-11-01 07:46:02 25 4
gpt4 key购买 nike

我最近研究了 Android 的 BottomNavigationView 组件。我有 4 个菜单项,目前我的 BottomNavigationView 配置如下所示:

<android.support.design.widget.BottomNavigationView
android:id="@+id/activity_product_details_bottom_navigation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@color/menu_select_deselect"
app:itemTextColor="@color/menu_select_deselect"
app:menu="@menu/menu_product_details"/>

我想要的是所选元素和取消选择元素的区别颜色。我还创建了名为 menu_select_deselect.xml 的颜色状态列表文件,放置在 res/color 目录中,如下所示

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:color="@color/white" android:state_checked="true"/>
<item android:color="@color/tint_color_deselected"/>
</selector>

menu_product_details.xml如下

<?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/menu_product_details_home"
app:showAsAction="ifRoom"
android:enabled="true"
android:icon="@drawable/ic_home"
android:title="@string/menu_product_details_home" />

<item
android:id="@+id/menu_product_details_product_documents"
app:showAsAction="ifRoom"
android:enabled="true"
android:icon="@drawable/ic_product_documents"
android:title="@string/menu_product_details_product_documents" />

<item
android:id="@+id/menu_product_details_product_part_list"
app:showAsAction="ifRoom"
android:enabled="true"
android:icon="@drawable/ic_product_part_list"
android:title="@string/menu_product_details_product_part_list" />

<item
android:id="@+id/menu_product_details_product_service"
app:showAsAction="ifRoom"
android:enabled="true"
android:icon="@drawable/ic_product_service"
android:title="@string/menu_product_details_product_service" />
</menu>

任何人都可以帮助我解决代码的问题,因为即使我单击其他 3 个项目,也只有第一个元素显示为白色?

最佳答案

您可以通过添加更改选择/取消选择的图标和文本的色调

app:itemIconTint=""
app:itemTextColor=""

这些是 BottomNavigationView 的 2 个属性,您可以通过在其中添加可绘制选择器来在您的 xml 中设置它。

但是如果你想改变所选项目的图标而不仅仅是颜色,那么我有不同的解决方案给你。移除

app:itemIconTint=""

从您的 BottomNavigationView xml 文件中添加以下行到您的类中,其中 BottomNavigationView 可用:

bottomNavigationView.setItemIconTintList(null);

这将禁用所选项目图标的色调效果,并根据您的选择器可绘制对象更改图标。

我遇到了同样的问题。我添加了可绘制的选择器,用于在选中/选中时更改 BottomNavigationView 项目的图标。每个项目的可绘制选择器作为图标添加到 BottomNavigationView 的菜单文件中。

关于Android 底部导航更改项目选择的文本和图标色调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43999284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com