一、常见样式
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文件夹,将两张图片放进里面
(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)效果图