美文网首页
Android 自定义CheckBox样式无效

Android 自定义CheckBox样式无效

作者: 霁逸lei | 来源:发表于2020-09-08 14:23 被阅读0次

    先说结论,按网上的方式设置checkBox的button属性、background属性全部都失败了,然后发现在API19的模拟器上无法正常显示,在API26的真机上style样式正常显示,接着找低版本样式问题,然后发现了buttonCompat,设置一波,有效,链接如下。
    https://blog.csdn.net/qq_36487432/article/details/104926509

    1..写对应的selector文件

    selector_checkbox.xml
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/img_checkbox_checked" android:state_checked="true"/>
        <item android:drawable="@drawable/img_checkbox_unchecked"/>
    </selector>
    

    2.xml配置

     <!-- Compat attr to load backported drawable types -->
    <attr format="reference" name="buttonCompat"/>
    
    <CheckBox
        android:id="@+id/checkbox"
        android:layout_width="@dimen/y10"
        android:layout_height="@dimen/y10"
        app:buttonCompat = "@null"
        android:button="@drawable/selector_checkbox"
        android:background="@null"/>
    
    
    ====================可优化成如下模式====================
    <CheckBox
        android:id="@+id/checkbox"
        style="@style/CustomCheckBox"/>
    
    <style name="CustomCheckBox" parent="Widget.AppCompat.CompoundButton.CheckBox">
        <item name="android:layout_width">@dimen/y10</item>
        <item name="android:layout_height">@dimen/y10</item>
        <item name="android:background">@null</item>
        <item name="buttonCompat">@null</item>
        <item name="android:button">@drawable/selector_tining_delete_checkbox</item>
    </style>
    

    3.效果图,去掉buttonCompat 属性后显示默认方框样式


    image.png

    相关文章

      网友评论

          本文标题:Android 自定义CheckBox样式无效

          本文链接:https://www.haomeiwen.com/subject/sygdektx.html