Appcompat v7材质复选框在Lollipop设备中将颜色更改为默认黑色

时间:2015-05-29 17:57:30

标签: android checkbox android-5.0-lollipop material-design appcompat-v7-r22.1

我正在使用appcompat v7材料复选框。我的项目主题是淡蓝色,所以我为 styles.xml 中的复选框选中颜色指定浅蓝色,如下所示

<!--checked color-->
<item name="colorAccent">@color/light_blue</item> 

<!--un checked color--> 
<item name="android:textColorSecondary">@color/secondary_text</item>  

在我的布局文件中

    <CheckBox
        android:id="@+id/chk_tick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@drawable/abc_btn_check_material"
        android:layout_gravity="center"/>

kitkat下面的版本一切正常,但问题只出现在棒棒糖版本中(默认情况下会自动指定黑色)。我真的不知道为什么会这样。请帮助我解决您的问题。提前致谢

2 个答案:

答案 0 :(得分:1)

删除此行:

  

机器人:按钮= “@绘制/ abc_btn_check_material”

您的CheckBox应自动设置样式,而不设置android:button属性。

答案 1 :(得分:0)

使用AppCombat复选框获得最佳结果

<android.support.v7.widget.AppCompatCheckBox
    android:id="@+id/chkSelected"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/white"
   />

之后转到styles.xml并按如下所示创建新样式

   <style name="SampleTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="colorAccent">@color/colorAccent</item>
            <item name="android:textColorSecondary">@color/red</item>
        </style>

尚未完成您的清单xml

 <activity
        android:name=".yourActivity"
        android:theme="@style/SampleTheme" /> 

这也适用于pre_lollipop设备。快乐的编码:)