一、常见样式

android:button  :复选框的框样式

二、书写复选框

<CheckBox
        android:id="ID"
        android:layout_width="宽度"
        android:layout_height="高度"
        android:text="文本"/>

三、添加复选框事件

获取到的复选框.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(MainActivity.this,"文本",Toast.LENGTH_SHORT).show();
            }
        });

四、练习

(1)布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="你会哪些前端技术?"
        android:layout_marginBottom="15dp"
        android:textSize="20sp"/>

    <CheckBox
        android:layout_below="@+id/text1"
        android:id="@+id/check01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="HTML"/>
    <CheckBox
        android:layout_below="@+id/check01"
        android:id="@+id/check02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="JavaScript"/>
    <CheckBox
        android:layout_below="@+id/check02"
        android:id="@+id/check03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="JQuery"/>
    <CheckBox
        android:layout_below="@+id/check03"
        android:id="@+id/check04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Vue"/>
    <CheckBox
        android:layout_below="@+id/check04"
        android:id="@+id/check05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Android"/>
    <LinearLayout
        android:layout_below="@+id/check05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:orientation="vertical">
        <TextView
            android:id="@+id/text2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="你的兴趣爱好?"
            android:layout_marginBottom="15dp"
            android:textSize="20sp" />
        <CheckBox
            android:id="@+id/check06"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_below="@+id/check01"
            android:text="编程"
            android:button="@drawable/bg"/>
        <CheckBox
            android:id="@+id/check07"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="健身"
            android:button="@drawable/bg"/>
    </LinearLayout>
</RelativeLayout>

(2)bg.xml

<?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"></item>
    <item android:state_pressed="false" android:drawable="@drawable/notcheck"></item>
</selector>

(3)新建drawable-xxhdpi文件夹,将两张图片放进里面

Android笔记——复选框(CheckBox)_ide

 

(4)activity文件

package com.example.lqh.firstproctect;

import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;

public class MainActivity extends Activity {

    private CheckBox mbox06;
    private CheckBox mbox07;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mbox06 = (CheckBox) findViewById(R.id.check06);
        mbox07 = (CheckBox) findViewById(R.id.check07);
        mbox06.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(MainActivity.this,isChecked?"编程选中":"编程未选中",Toast.LENGTH_SHORT).show();
            }
        });
        mbox07.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(MainActivity.this,isChecked?"健身选中":"健身未选中",Toast.LENGTH_SHORT).show();
            }
        });
    }
}

(5)效果图

Android笔记——复选框(CheckBox)_Android_02