为Checkbox for Android更改已选中和未选中的图标

时间:2010-07-07 05:38:49

标签: java android checkbox icons

我没有图标的复选标记,而是想要一个自定义星标(我已选中并取消选中图标)。这可以通过财产来完成吗?或者我必须声明一个派生自Checkbox的自定义窗口小部件吗?

5 个答案:

答案 0 :(得分:146)

有点混合:

在布局文件中设置: -

 <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 /复选框将如下所示:

<?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>

答案 1 :(得分:6)

我意识到这是一个老问题,OP正在谈论使用不需要“复选框”的自定义gx,但是有一个很棒的资源可以在这里生成自定义彩色资源:http://kobroor.pl/ < / p>

只需向其提供相关详细信息,它就会显示图形,并提供xml资源,您可以直接进入。

答案 2 :(得分:6)

它是android:button="@drawable/selector_checkbox" 使它工作

答案 3 :(得分:2)

一种替代方法是使用drawable / textview而不是复选框并相应地操作它。我已经使用此方法为任务应用程序提供了自己的已检查和未检查的图像。

答案 4 :(得分:1)

这可以通过使用AppCompatCheckBox来实现。您可以使用app:buttonCompat="@drawable/selector_drawable"更改选择器。

它可以与PNG一起使用,但是我没有找到一种与Vector Drawables一起使用的方法。