Android 单击并取消单击时,如何更改复选框的颜色?

Android 单击并取消单击时,如何更改复选框的颜色?,android,android-checkbox,Android,Android Checkbox,当我点击复选框时,该复选框的颜色改变,复选框的其余部分保持另一种颜色,那么我如何改变复选框的颜色 if(CountryList.get(pos.getSelected()){ CountryList.get(位置).setSelected(错误); 持有者.国家.挫折背景资源(R.color.btnbckgrd); }否则{ CountryList.get(位置).setSelected(真); 持有者.国家.挫折背景资源(R.颜色.浅绿色); } 您可以为此使用样式 <style nam

当我点击复选框时,该复选框的颜色改变,复选框的其余部分保持另一种颜色,那么我如何改变复选框的颜色

if(CountryList.get(pos.getSelected()){
CountryList.get(位置).setSelected(错误);
持有者.国家.挫折背景资源(R.color.btnbckgrd);
}否则{
CountryList.get(位置).setSelected(真);
持有者.国家.挫折背景资源(R.颜色.浅绿色);
}

您可以为此使用样式

<style name="yourStyle" parent="Base.Theme.AppCompat">
    <item name="colorAccent">your_color</item> <!-- for uncheck state -->
    <item name="android:textColorSecondary">your color</item> <!-- for check state -->
</style>

你的颜色
你的颜色
像这样在xml中设置它

<CheckBox
     android:theme="@style/yourStyle"
/>


您是否尝试过在布局文件中使用android:tint=“@color/your_color””

所有API都适用的正确答案是:

创建样式:

<style name="CheckBox">
        <item name="colorControlNormal">@color/light_grey</item>
        <item name="colorControlActivated">@color/ts_white</item>
    </style>

@颜色/浅灰色
@颜色/纯白
然后像这样使用它:

   <androidx.appcompat.widget.AppCompatCheckBox
                  .....
                    android:theme="@style/Bonus.CheckBox"
                  ..... />


设置样式后,您将不需要检查视图背景程序。请尝试以下操作:

  final CheckBox cbox= (CheckBox) findViewById(R.id.cb_flash);

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Set the Flash CheckBox Text Color
            cbox.setTextColor(Color.BLUE);

            // Set the Flash CheckBox Background Color
            cbox.setBackgroundColor(Color.parseColor("#cbff75"));
        }
    });

 if(checkbox.isChecked()){
   cbox.setTextColor(Color.BLUE);

            // Set the Flash CheckBox Background Color
            cbox.setBackgroundColor(Color.parseColor("#cbff75"));

  }else{
 //chenge color
   }

try this:
mSelectedItem = -1;
holder.country.setBackgroundResource(mSelectedItem == position ? 
R.color.lightgreen: R.color.btnbckgrd);