2015-06-21 71 views
1

问题复选框口音未选中的复选框

有没有办法如何颜色的默认选中复选框的颜色吗?这是现在的状态:

current state

我想未选中的复选框有重音符号的颜色(在我的情况下,蓝色),因为它是在检查变种。

我的配置

compile 'com.android.support:appcompat-v7:22.0.0' 

<item name="colorAccent">@color/accent</item> 

回答

1

您可以显示任何你喜欢的形状和颜色的复选框。

添加绘制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> 

现在你可以指定如何checkedunchecked应该像:

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

+0

谢谢你的帮忙!但是这个解决方案只是工作而已。它确实将框架着色为蓝色,但检查状态缺少“V”。这也只是简单的框架。我需要找出如何将选中的状态链接到原始复选框。有任何想法吗? – zatziky

+0

@zatziky默认选择器是这里的一个:https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable/btn_check.xml –

+0

'@android:drawable/btn_check',我想。 –