2015-06-21 89 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',我想。 –

相關問題