gpt4 book ai didi

Android:如何从资源中获取 ColorStateList?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:51:44 30 4
gpt4 key购买 nike

我正在制作一个抽屉导航,其中图标的颜色基于文本的颜色。

这是我在 res/drawable 中声明的选择器

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="@color/emerald"/>
<item android:state_selected="true" android:color="@color/emerald"/>
<item android:state_pressed="true" android:color="@color/emerald"/>
<item android:color="@android:color/white"/>
</selector>

这是我的ViewHolder

Drawable drawable = ContextCompat.getDrawable(mContext,iconResourceId);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTintList(drawable.mutate(),mContext.gerResouces.getColorStateList());
mItemIcon.setImageDrawable(drawable);

如您所见,我在这一行遇到的问题是,我在 getColorStateList 中传递了什么?文档对我没有帮助。

DrawableCompat.setTintList(drawable.mutate(),mContext.gerResouces.getColorStateList());

最佳答案

传递颜色状态列表资源的id,例如R.color.my_color_state_list。颜色状态列表属于 res/color,而不是 res/drawable

DrawableCompat.setTintList(drawable.mutate(),
mContext.getResources().getColorStateList(R.color.my_color_state_list));

关于Android:如何从资源中获取 ColorStateList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32335405/

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