android - 如何使用渐变颜色为在bottomNavigationView中选择的图标着色
问题描述
我有带有一些图标的底部导航视图,我希望当有人选择图标时,图标的颜色变为渐变色。
渐变.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:type="linear"
android:startColor="#ee5f8a"
android:endColor="#ed8f6d"
android:angle="0"/>
</shape>
底部导航视图
<android.support.design.widget.BottomNavigationView
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_alignParentBottom="true"
android:background="?android:attr/windowBackground"
app:elevation="5dp"
app:itemIconSize="35dp"
app:itemIconTint="@color/selector"
app:labelVisibilityMode="unlabeled"
app:menu="@menu/bottom_nav_menu" />
选择器.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimaryDark"
android:state_checked="true" />
<item android:color="#c2bdbf" />
</selector>
解决方案
将此属性添加到BottomNavigationView
app:itemIconTint="@drawable/bottom_selector"
创建一个名为bottom_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="#ff0000"/>
<item android:color="@color/colorPrimaryDark"/>
</selector>
推荐阅读
- request - 使用存储 API 将图像上传到 Supabase 存储
- c - 移动到不同的头文件后无法发送指向结构的指针
- python - Numpy 256 位计算
- flutter - 如何在 Flutter 测试中模拟 Socket.io 客户端
- php - 使用 WP 查询自动显示按类别或标签分类排序的帖子
- javascript - 使用 PHP 和 Ajax 返回文件地址
- dataset - 每周收到的项目 KPI
- function - 如何将方法绑定到 Kotlin 中的名称?
- oracle - 在物化视图创建中考虑同一张表的子查询
- javascript - 仅使用 Babel/Webpack 进行转译/polyfilling