【发布时间】:2015-06-21 20:16:15
【问题描述】:
问题
有没有办法为默认的未选中复选框颜色着色?这是现在的状态:
我希望 UNCHECKED 复选框具有重音颜色(在我的情况下为蓝色),因为它在选中的变体中。
我的配置
compile 'com.android.support:appcompat-v7:22.0.0'
<item name="colorAccent">@color/accent</item>
【问题讨论】:
问题
有没有办法为默认的未选中复选框颜色着色?这是现在的状态:
我希望 UNCHECKED 复选框具有重音颜色(在我的情况下为蓝色),因为它在选中的变体中。
我的配置
compile 'com.android.support:appcompat-v7:22.0.0'
<item name="colorAccent">@color/accent</item>
【问题讨论】:
您可以以任何您喜欢的形状和颜色显示复选框。
添加一个可绘制的custom_checkbox.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@xml/checked" />
<item android:state_pressed="true"
android:drawable="@xml/checked" />
<item android:drawable="@xml/unchecked" />
</selector>
现在您可以指定 checked 和 unchecked 的外观:
checked.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- set whatever color you like -->
<stroke android:width="2px" android:color="@color/accent" />
<size android:height="20dp" android:width="20dp"/>
</shape>
unchecked.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2px" android:color="#ffc0c0c0" />
<size android:height="20dp" android:width="20dp"/>
</shape>
现在您可以将复选框的android:button 属性设置为@drawable/custom_checkbox,您应该会看到自己的彩色复选框!
代码基于this answer。
【讨论】:
@android:drawable/btn_check,我猜。