发布时间:2025-12-11 00:53:23 浏览次数:1
在Android中,CompoundButton是一个复合按钮的基类,它可以同时显示文本和图像,并且可以切换状态(选中/未选中)。CompoundButton有三个主要的子类:CheckBox、RadioButton和Switch。
下面是一些使用CompoundButton的示例:
使用CheckBox:<CheckBoxandroid:id="@+id/checkBox"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Check me" />在代码中获取CheckBox的引用,并监听其状态变化:
CheckBox checkBox = findViewById(R.id.checkBox);checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {// 处理状态变化事件if (isChecked) {// 复选框被选中} else {// 复选框未选中}}});使用RadioButton(单选按钮):<RadioGroupandroid:id="@+id/radioGroup"android:layout_width="wrap_content"android:layout_height="wrap_content"><RadioButtonandroid:id="@+id/radioButton1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Option 1" /><RadioButtonandroid:id="@+id/radioButton2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Option 2" /></RadioGroup>在代码中获取RadioGroup的引用,并监听选中的RadioButton:
RadioGroup radioGroup = findViewById(R.id.radioGroup);radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// 处理选中的RadioButton变化事件if (checkedId == R.id.radioButton1) {// Option 1被选中} else if (checkedId == R.id.radioButton2) {// Option 2被选中}}});使用Switch(开关按钮):<Switchandroid:id="@+id/switchButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Switch me" />在代码中获取Switch的引用,并监听其状态变化:
Switch switchButton = findViewById(R.id.switchButton);switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {// 处理状态变化事件if (isChecked) {// Switch被打开} else {// Switch被关闭}}});