android复选框样式不适用于ICS

时间:2017-03-24 10:14:44

标签: android xml themes

我的复选框样式适用于android v5 +,但不适用于v4.x

styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:textColor">@color/ui_text</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:textStyle">bold</item>
<item name="android:alertDialogStyle">@style/AppDlg</item>
<item name="android:radioButtonStyle">@style/RadioButtonStyle</item>
<item name="android:checkboxStyle">@style/CheckBoxStyle</item>
<item name="android:editTextStyle">@style/EditTextStyle</item>
</style>

<style name="RadioButtonStyle" parent="CheckBoxStyle">
    <item name="android:textColor">@color/ui_text</item>
    <item name="android:textStyle">bold</item>
    <item name="android:button">@drawable/radiobutton</item>
</style>

<style name="CheckBoxStyle" parent="@android:style/Widget.Holo.CompoundButton.CheckBox">
    <item name="android:textColor">@color/ui_text</item>
    <item name="android:paddingLeft">8dip</item>
    <item name="android:drawablePadding">12dip</item>
    <item name="android:textStyle">bold</item>
    <item name="android:button">@drawable/checkbox</item>
    <item name="android:buttonTint">@color/primary</item>
    <item name="android:layout_width">@dimen/checkbox_size</item>
    <item name="android:layout_height">@dimen/checkbox_size</item>
</style>
...

我正在编译,目标是SDK 25,最低SDK为15.我使用的是support-v4:25.3.0,appcompat-v7:25.3.0,设计:25.3.0

Android Studio在styles.xml中给出了一个关于buttonTint的错误,要求最低API级别为21,但即使删除了这一行,我也会得到相同的行为(复选框在5.x上设置样式,但不在4.x上设置)

1 个答案:

答案 0 :(得分:0)

似乎我需要将以下行添加到styles.xml

<item name="checkboxStyle">@style/CheckBoxStyle</item>
<item name="radioButtonStyle">@style/RadioButtonStyle</item>

赞美那些已经存在的线......

<item name="android:radioButtonStyle">@style/RadioButtonStyle</item>
<item name="android:checkboxStyle">@style/CheckBoxStyle</item>

<!/ P>