我正在尝试动态设置复选框的背景颜色。谷歌搜索后我发现了以下内容:
checkbox.setButtonDrawable(R.drawable.checkbox_background);
但不幸的是,它只会导致复选框背景消失。
任何建议或意见都会有所帮助!
以下是用作复选框背景的xml文件:
checkbox_background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/off_white"/>
</shape>
答案 0 :(得分:1)
在drawable中创建选择器文件。
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="true"
android:drawable="@drawable/check"\\ your drawable
android:state_focused="false">
</item>
<item android:state_checked="true"
android:drawable="@drawable/check"\\your drawable
android:state_focused="true">
</item>
<item android:state_checked="false"
android:drawable="@drawable/check"\\your drawable
android:state_focused="false">
</item>
<item android:state_checked="false"
android:drawable="@drawable/check"\\your drawable
android:state_focused="true">
</item>
</selector>
将以下内容添加到您的复选框属性中。
android:drawableLeft="@drawable/selector"
让我知道它是怎么回事。
答案 1 :(得分:1)
您需要为drawable
设置大小<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="20dp" android:width="20dp"/>
<stroke
android:width="1dp"
android:color="@color/off_white"/>
</shape>