change checkbox background color in android

前端 未结 6 980
一向
一向 2020-12-15 08:31

i have to develop one app.here i have to use checkbox.here i have to select checkbox means the default background color is yellow.but i wish to change the background

相关标签:
6条回答
  • 2020-12-15 09:06

    if you are intersted to change the background color of the checkbox (button) use

    mcheckbox.setButtonDrawable(R.drawable.someotherbackground);
    

    where someotherbackground is an image in the drawable folder to which background you want your checkbox to be changed

    try as below

     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);
                }
    
            }
        });
    
    0 讨论(0)
  • 2020-12-15 09:07

    res/drawable/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>
    

    In your layout:

    <CheckBox ...
        android:button="@drawable/checkbox_background" />
    

    If you want to use existing drawables:

    <?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>
    
    0 讨论(0)
  • Use the following code in your checkbox xml :

    <CheckBox
       android:id="@+id/rempasswordcheckbox"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@+id/passwordview"
    
       android:background="#0000FF"
    
       android:layout_y="200dp"
       android:paddingLeft="45dp"
       android:text="Remember Password!"
       android:textColor="#1d2328" />
    
    0 讨论(0)
  • 2020-12-15 09:13

    Change the colorAccent for the theme

      <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorAccent">@color/orange</item>
        ...
      </style>
    
    0 讨论(0)
  • 2020-12-15 09:16

    try this code

    public class MainActivity extends Activity {
    
    CheckBox box;
    boolean flag=false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        box=(CheckBox)findViewById(R.id.box);
    
        box.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
    
                if(flag){
                    GradientDrawable d=new GradientDrawable();
                    d.setColor(Color.RED);
                    box.setBackgroundDrawable(d);
                    }
                else{
                    GradientDrawable d=new GradientDrawable();
                    d.setColor(Color.GREEN);
                    box.setBackgroundDrawable(d);
                }
                flag=!flag;
                }
    
        });
    }
    

    }

    0 讨论(0)
  • 2020-12-15 09:23

    Using Code .

    checkBox.setBackgroundColor(Color.BLUE);
    

    Code

    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. 
             }
         }
    }); 
    
    0 讨论(0)
提交回复
热议问题