Android:设置复选框 CheckBox 的颜色

Android:设置复选框 CheckBox 的颜色

<meta charset="utf-8">

如何设置复选框在不同状态的颜色?

默认样式

image

预期样式

image

<meta charset="utf-8">

一、设置方法如下:

先定义Checkbox的style,在values文件下的styles.xml文件中加入:


    <style name="MyCheckBox" parent="Theme.AppCompat.Light">
        <item name="colorControlNormal">@color/gray</item>
        <item name="colorControlActivated">@color/switch_btn_colors</item>
    </style>

  • colorControlNormal是未选中的颜色 ,colorControlActivated表示选中时的颜色,
  • 自己在values下的colors.xml定义颜色:

    <color name="gray">#f5f5f5</color>
    <color name="switch_btn_colors">#87AADC</color>

二、然后在布局文件中,对控件设置主题


        <CheckBox
              android:id="@+id/single_cb_football"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="足球"
              android:textColor="@color/color_333333"
              android:textSize="@dimen/text_size4"
              android:theme="@style/MyCheckBox" />

android:checked="true"--表示选中

实现效果

image

isChecked() 判断Android复选框CheckBox当前状态 :

        login_logon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

//                    Intent intent = new Intent(LoginActivity.this, MainActivity.class);
//                    startActivity(intent);
//                    finish();

                if (login_04cbox.isChecked() == true) {
                    Toast.makeText(LoginActivity.this, "成功", Toast.LENGTH_SHORT).show();
                } else if (login_04cbox.isChecked() == false) {
                    Toast.makeText(LoginActivity.this, "false 不可点击", Toast.LENGTH_SHORT).show();
                }

            }
        });

猜你喜欢

转载自blog.csdn.net/jun_tong/article/details/130743109