1

我需要有自定义复选框,这不是那么棘手。我将 checkbox_selector 设置为可绘制文件夹:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:drawable="@drawable/checkbox_disabled" /><!-- disabled -->
    <item android:state_checked="false" android:state_pressed="true" android:drawable="@drawable/checkbox_unchecked_focused" /><!-- pressing unchecked box -->
    <item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/checkbox_checked_focused" /><!-- pressing checked box -->
    <item android:state_checked="true" android:drawable="@drawable/checkbox_checked" /><!-- checked box -->
    <item android:state_checked="false" android:drawable="@drawable/checkbox_unchecked" /><!-- unchecked box -->

</selector>

但问题是我所做的每个检查按钮,我都必须添加

<Checkbox
   android:button="@drawable/checkbox_selector" />

尝试谷歌回答一段时间,也许我找不到合适的词。

我可以在某个地方说这个应用程序中的每个复选框都应该使用这个@drawable/checkbox_selector 吗?

编辑: 在styles.xml中说

<style name="customCheckBox">
   <item android:button>@drawable/checkbox_selector</item>
</style>

在 Android 2.3.3 中为我工作但是当我尝试使用 Android 4.0.3 时它不起作用。任何想法为什么会这样?

4

2 回答 2

1

您可以在清单中为所有控件定义它们(主题包含您的样式)

android:theme="@style/CustomCheckBox"
于 2012-07-02T11:24:34.493 回答
1

您可以为此目的使用样式:只需在您的 style.xml 中设置:

 <style name="CustomCheckBox" >
    <item name="android:button">"@drawable/checkbox_selector</item>
 </style>

然后只需将您的主题应用于所有复选框,执行以下操作:

 <Checkbox style="@style/CustomCheckBox" />

有关样式的更多参考,请阅读:

http://developer.android.com/guide/topics/ui/themes.html

于 2012-07-02T10:46:09.010 回答