我们在listview中有一个复选框,其背景图片需要根据listview项目的内容进行更改,例如gmail电子邮件列表视图。
我们现在的方法是使用android:button="@drawable/startcheckbox"
选项设置复选框背景,其中startcheckbox
是包含以下内容的可绘制文件夹中的xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/star_rate_white_54x54" />
<item android:state_checked="true" android:drawable="@drawable/star_rate_yellow_54x54" />
<item android:drawable="@drawable/star_rate_white_54x54" /> <!-- default state -->
</selector>
我的问题是如何从填充列表视图的片段中更改state_checked="false"
和state_checked="true"
。
答案 0 :(得分:0)
通过Drawable.mutate()突变drawable然后你可以改变你想要的任何东西。
总的来说,虽然我确实发现如果你想做任何编程而不是缩放它的绘图,你最好避免使用xml并使用代码和自定义drawables。