Android: Change the color of RadioButtons and checkboxes programmatically

前端 未结 6 1205
轮回少年
轮回少年 2020-12-15 08:11

I created RadioButton and CheckBox in LinearLayout programatically. But, now I want to change radio button\'s color and check boxes\'s

6条回答
  •  自闭症患者
    2020-12-15 08:42

    Use AppCompatCheckBox and AppCompatRadioButton instead of CheckBox and RadioButton. Your xml will have :

    
    
    
    

    Now for the java code : Create ColorStateList

            ColorStateList colorStateList = new ColorStateList(
                    new int[][]{
                            new int[]{android.R.attr.state_enabled} //enabled
                    },
                    new int[] {getResources().getColor(R.color.colorPrimary) }
            );
    

    To change the color programatically for AppCompatRadioButton or AppCompatCheckBox call setSupportButtonTintList.

    AppCompatRadioButton radioButton = (AppCompatRadioButton) findViewById(R.id.rb);
    radioButton.setSupportButtonTintList(colorStateList);
    
    AppCompatCheckBox cbSelected = (AppCompatCheckBox) findViewById(R.id.cbSelected);
    cbSelected.setSupportButtonTintList(colorStateList);
    

提交回复
热议问题