更改android中的复选框背景颜色

use*_*640 13 checkbox android android-layout

我必须开发一个app.here我必须使用checkbox.here我必须选择复选框意味着默认的背景颜色是黄色.但我希望使用渐变更改背景颜色检查和未检查条件.我可以改变它.请帮我.

这是我目前的代码:

 <CheckBox
   android:id="@+id/rempasswordcheckbox"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_below="@+id/passwordview"

   android:layout_y="200dp"
   android:paddingLeft="45dp"
   android:text="Remember Password!"
   android:textColor="#1d2328" />
Run Code Online (Sandbox Code Playgroud)

G_S*_*G_S 12

如果你有兴趣改变复选框(按钮)使用的背景颜色

mcheckbox.setButtonDrawable(R.drawable.someotherbackground);
Run Code Online (Sandbox Code Playgroud)

其中someotherbackground是可绘制文件夹中的图像,您想要更改复选框的背景

尝试如下

 mcheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {

            if (isChecked) {

                System.out.println("checked" + isChecked);
                mcheckbox.setButtonDrawable(R.drawable.imageWhenActive);
                    System.out.println("app constant is set as "+isChecked);
            }
            else
            {
                mcheckbox.setButtonDrawable(R.drawable.imageWheninactive);
                System.out.println("app constant is set as "+isChecked);
            }

        }
    });
Run Code Online (Sandbox Code Playgroud)


小智 7

RES /绘制/ 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">
        <shape>
            <gradient android:startColor="#FFFFFF" android:endColor="#000000" android:angle="-90"/>
        </shape>
    </item>
    <item>
        <shape>
            <gradient android:startColor="#000000" android:endColor="#FFFFFF" android:angle="-90"/>
        </shape>
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

在你的布局中:

<CheckBox ...
    android:button="@drawable/checkbox_background" />
Run Code Online (Sandbox Code Playgroud)

如果您想使用现有的drawable:

<?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/checked_drawable" />
    <item android:drawable="@drawable/unchecked_drawable" />
</selector>
Run Code Online (Sandbox Code Playgroud)


Chi*_*rag 4

使用代码。

checkBox.setBackgroundColor(Color.BLUE);
Run Code Online (Sandbox Code Playgroud)

代码

CheckBox cb = (CheckBox) findViewById(R.id.CheckBox01);
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() 
{
     @Override
     public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) 
     {
         // TODO Auto-generated method stub
         if (buttonView.isChecked()) 
         {
             //cb.setBackgroundColor(Color.BLUE);
             cb.setBackgroundColor(Color.parseColor("#FFFFFF"));
         }
         else
         {
             // Not Checked
             // Set Your Default Color. 
         }
     }
}); 
Run Code Online (Sandbox Code Playgroud)