从drawable中设置Chip的图标

问题描述 投票:0回答:1

有没有办法以编程方式在芯片中设置可绘制的 xml 资源?

只是玩弄芯片,而不是被迫实际使用它们。我可以轻松交换,但我想知道这是否可能。
在我的项目中,我有一个可绘制文件夹,看起来像这样

这个文件夹(也许是标准的,也许不是,不知道:我对 Android Studio 还很陌生,该文件夹是自动生成的)其中有一堆 xml,我设法在视图中使用它们。

现在,我正在玩弄片段中的芯片,但我未能找到某种方法来从代码中设置芯片检查图标(默认情况下是勾号)。我试图找到一些方法,比如

Chip.setIcon(R.drawables.my_xml_asset_name)

我知道我可以通过 xml 设置它,所以请不要这样做。
API版本:34级(颠倒蛋糕)

android kotlin material-components-android android-chips
1个回答
0
投票

可以使用 setCheckedIcon

Drawable
(采用 setCheckedIconResource
/
Chip
(采用可绘制资源 ID)
方法来指定选中的图标,根据 documentation 将是覆盖在图标顶部。

yourChip.setCheckedIconResource(R.drawable.ic_custom_checked_circle_24dp)

其他受支持的 XML 属性及其编程变体的列表如下所示():

选中图标

如果可见,选中的图标会覆盖芯片图标。

元素 属性 相关方法 默认值
图标
app:checkedIcon
setCheckedIcon
/
setCheckedIconResource
/
getCheckedIcon
@drawable/ic_m3_chip_checked_circle
能见度
app:checkedIconVisible
setCheckedIconVisible
/
isCheckedIconVisible
true
(输入,过滤器)
颜色
app:checkedIconTint
setCheckedIconTint
/
setCheckedIconTintResource
/
getCheckedIconTint
null
© www.soinside.com 2019 - 2024. All rights reserved.