如何为 android 复选框设置默认背景

How to set the default background for android checkbox

我有

Checkbox.setButtonDrawable(R.drawable.ic_checkbox_disabled);

这里我设置为自定义图片


如何设置为默认复选框背景

我试过了:

Checkbox.setButtonDrawable(null);

但是整个盒子都不见了 所以我需要复选框的资源名称 android uses


类似于:

Checkbox.setButtonDrawable(R.android.resourcename);

任何解决方案

在drawable文件夹下,新建一个文件,任意命名。然后粘贴这个。

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

    <item android:drawable="@drawable/radio_checked_icon" android:state_checked="true"/>
    <item android:drawable="@drawable/radio_unchecked_icon" android:state_checked="false"/>


</selector>

radio_checked_icon 和 radio_unchecked_icon,这些是您要放置的自定义图像,单击您的复选框时,然后 radio_checked_icon,否则 radio_unchecked_icon

然后在布局中这样使用:

 <CheckBox
            android:id="@+id/tiny_radio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:button="@drawable/name_of_your_file_present_in_Drawable"
            android:padding="@dimen/padding_short" />

在 drawable 文件夹中创建一个新的选择器文件,名称为 checkbox_selection :

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

修改 xml 文件中的复选框视图,如下所示:

<CheckBox
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:button="@drawable/checkbox_selection"
     android:text="CheckBox"
     android:textColor="@color/Black" >
</CheckBox>