2015-10-18 120 views

回答

1

您可以使用OnCheckedChangeListener和一個自己的圖像。例如:

checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     public void onCheckedChanged(CompoundButton buttonView, 
       boolean isChecked) { 

      if (isChecked) { 

       checkbox.setButtonDrawable(R.drawable.yourImage); 
      } 

     } 
    }); 

當你想要一個單色背景像綠色的背景時,使用單色圖像。

+0

我將如何創建這個圖像? 並不是每個複選框都有點複雜嗎?有沒有辦法改變所有的一般checboxes? – cyden

1

創建你這樣的drawable文件夾checkbox_selector.xml,你需要兩個圖像normal_checkbox.pngselected_checkbox.png

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:drawable="@drawable/normal_checkbox" 
      android:state_checked="false"/> 
    <item android:drawable="@drawable/selected_checkbox" 
      android:state_checked="true"/> 
    <item android:drawable="@drawable/normal_checkbox"/>  
</selector> 

現在改變,你聲明的CheckBox

<CheckBox 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:button="@drawable/checkbox_selector" 
android:text="My CheckBox" 
android:textColor="@color/Black" /> 

更多click

佈局文件