1

我想将自定义设计的复选框添加到对话框中。Dialogs 视图设置为 TableLayout 并且行数是动态的。普通复选框太大,所以我创建了具有不同状态可绘制对象的自定义选择器(checkbox.xml):

<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"/>

并将其添加到我的自定义复选框构造函数中:

  setButtonDrawable(R.drawable.checkbox);

如果复选框具有焦点,一切似乎都可以正常工作,但外观不会退回到默认布局:

在此处输入图像描述

我已经在使用 xml 并切换/添加了一些状态,但似乎没有任何效果。

我该如何解决这个问题,以便在复选框没有焦点并且表格单元格中的内容没有默认复选框大的情况下使用我的图像?

在此先感谢,丹尼

4

1 回答 1

0

这是 Google 提供的用于按钮类型图像的 drawable.xml,但它确实包含一些您可能缺少的其他状态信息。也许你可以试试这个。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/appwidget_bg_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/appwidget_bg_focused"
    android:state_focused="true"
    android:state_enabled="true"
    android:state_window_focused="true" />
<item android:drawable="@drawable/appwidget_bg" />

于 2012-05-06T13:15:19.043 回答