自定义CheckBox样式

时间:2013-03-20 17:54:12

标签: android checkbox styles

我在http://android-holo-colors.com/为我的Android应用创建了一些样式。我已下载并将其解压缩到我的res文件夹但我无法管理它以应用复选框的样式。这是我在自定义主题中所做的。

<style name="CustomTheme" parent="Theme.Sherlock.Light">
    ...
    <item name="android:checkboxStyle">@style/CheckBoxAppTheme</item>
    ...
</style>

我正在应用的样式是由android-holo-colors生成的,所以我认为错误不应该是这种风格。有谁看到我做错了什么?顺便说一句。主题应用于应用程序。

更新

为了更清晰,我也将发布该风格的代码。

<style name="CheckBoxAppTheme" parent="android:Widget.CompoundButton.CheckBox">
    <item name="android:button">@drawable/btn_check_holo_light</item>
</style>

使用的drawable有一个看起来像这样的选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Enabled states -->

    <item android:state_checked="true" android:state_window_focused="false"
          android:state_enabled="true"
          android:drawable="@drawable/btn_check_on_holo_light" />
    <item android:state_checked="false" android:state_window_focused="false"
          android:state_enabled="true"
          android:drawable="@drawable/btn_check_off_holo_light" />

    <item android:state_checked="true" android:state_pressed="true"
          android:state_enabled="true"
          android:drawable="@drawable/btn_check_on_pressed_holo_light" />
    <item android:state_checked="false" android:state_pressed="true"
          android:state_enabled="true"
          android:drawable="@drawable/btn_check_off_pressed_holo_light" />

    <item android:state_checked="true" android:state_focused="true"
          android:state_enabled="true"
          android:drawable="@drawable/btn_check_on_focused_holo_light" />
    <item android:state_checked="false" android:state_focused="true"
          android:state_enabled="true"
          android:drawable="@drawable/btn_check_off_focused_holo_light" />

    <item android:state_checked="false"
          android:state_enabled="true"
          android:drawable="@drawable/btn_check_off_holo_light" />
    <item android:state_checked="true"
          android:state_enabled="true"
          android:drawable="@drawable/btn_check_on_holo_light" />

    <!-- Disabled states -->

    <item android:state_checked="true" android:state_window_focused="false"
          android:drawable="@drawable/btn_check_on_disabled_holo_light" />
    <item android:state_checked="false" android:state_window_focused="false"
          android:drawable="@drawable/btn_check_off_disabled_holo_light" />

    <item android:state_checked="true" android:state_focused="true"
          android:drawable="@drawable/btn_check_on_disabled_focused_holo_light" />
    <item android:state_checked="false" android:state_focused="true"
          android:drawable="@drawable/btn_check_off_disabled_focused_holo_light" />

    <item android:state_checked="false"
          android:drawable="@drawable/btn_check_off_disabled_holo_light" />
    <item android:state_checked="true" 
          android:drawable="@drawable/btn_check_on_disabled_holo_light" />

</selector>

那里使用的所有drawable都有.png文件。

2 个答案:

答案 0 :(得分:1)

您是否在AndroidManifest.xml上更改了应用主题?

答案 1 :(得分:0)

您确定您的文件放在好文件夹中吗?

注意:注意不要将“drawable-XXX”文件夹与“mipmap-XXX”文件夹(包含应用程序的图标)混淆。