android - 如何更改Android复选框的背景?

标签 android xml checkbox

我有 android checkBox 并且默认背景是透明的,我希望它是白色的所以我使用样式:

<style name="BrandedCheckBox" parent="AppTheme">
    <item name="colorAccent">@color/cyan</item>
    <item name="colorControlNormal">@color/text_gray</item>
    <item name="colorControlActivated">@color/cyan</item>
</style>

并设置复选框主题:

<CheckBox
    android:id="@+id/check_payable"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentEnd="true"
    android:layout_gravity="center"
    android:theme="@style/BrandedCheckBox"/>

但是结果是这样的: enter image description here 但我希望它是这样的:enter image description here

谁能帮我解决这个问题?

最佳答案

你可以使用android:button

   <CheckBox
       android:id="@+id/check_box"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:button="@drawable/checkbox_background" />

checkbox_background.xml

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

我在 drawable 中使用了这两张图片

checkbox_unchecked

checkbox_checked

关于android - 如何更改Android复选框的背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930297/

相关文章:

javascript - 上传多个文件时,HTML5 媒体捕获在 Android 上崩溃

PHP 如何点击一个 url 并下载它的 xml

javascript - 复选框上的 Jquery 属性在页面加载时不起作用

javascript - 在 JavaScript 中使用数组响应选中复选框

android - 如何从 fragment 和 Activity 中传递和获取值(value)

android - strings.xml 文件中的表情符号?

android - LoginManager.logInWithReadPermissions 从未在 Android 上解决

java - 通过 Maven/Testng 通过动态自定义 TestNG 文件运行测试

java - 解析 XML 文件 (java)

jquery - 如何在单击按钮时获取选定的复选框值?