有没有办法以编程方式在芯片中设置可绘制的 xml 资源?
只是玩弄芯片,而不是被迫实际使用它们。我可以轻松交换,但我想知道这是否可能。
在我的项目中,我有一个可绘制文件夹,看起来像这样
这个文件夹(也许是标准的,也许不是,不知道:我对 Android Studio 还很陌生,该文件夹是自动生成的)其中有一堆 xml,我设法在视图中使用它们。
现在,我正在玩弄片段中的芯片,但我未能找到某种方法来从代码中设置芯片检查图标(默认情况下是勾号)。我试图找到一些方法,比如
Chip.setIcon(R.drawables.my_xml_asset_name)
。
我知道我可以通过 xml 设置它,所以请不要这样做。
API版本:34级(颠倒蛋糕)
可以使用 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