更改Android的checkbox已选中或未选中的图标

而不是有一个复选标记的图标,我想要一个自定义的明星(我已经检查和取消选中的图标)。 这可以通过一个属性来完成吗? 或者我必须声明一个派生自checkbox的自定义小部件?

一种混合:

<CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="new checkbox" android:background="@drawable/checkbox_background" android:button="@drawable/checkbox" /> 

@ drawable /checkbox将如下所示:

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

GER

我意识到这是一个古老的问题,OP是在谈论使用自定义GX,这是不必要的“checkbox”,但有一个很棒的资源在这里生成自定义颜色的资产: http:// android-holo-colors .COM

只要给它的相关细节,它吐出graphics,完整的XML资源,你可以放下来。

它的android:button="@drawable/selector_checkbox" ,使其工作

另一种方法是使用可绘制的/ textview而不是checkbox,并相应地操作它。 我已经使用这种方法有一个任务应用程序我自己的选中和未选中的图像。