Android控件之CheckBox、RadioButton探究

简介: CheckBox和RadioButton控件都只有选中和未选中状态,不同的是RadioButton是单选按钮,需要编制到一个RadioGroup中,同一时刻一个RadioGroup中只能有一个按钮处于选中状态

以下为CheckBox和RadioButton常用方法及说明


image.png

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width
="fill_parent"
   android:layout_height
="fill_parent"
   android:scrollbars
="vertical">
   
<LinearLayout android:orientation="vertical"
   android:layout_width
="fill_parent"
   android:layout_height
="fill_parent">
       
<!-- RadioButton控件演示 -->
       
<ImageView android:id="@+id/imageView01"
           android:layout_width
="wrap_content"
           android:layout_height
="wrap_content"
           android:src
="@drawable/bulb_on"
           android:layout_gravity
="center_horizontal"/>
       
<RadioGroup android:id="@+id/radioGroup"
           android:orientation
="horizontal"
           android:layout_width
="wrap_content"
           android:layout_height
="wrap_content"
           android:layout_gravity
="center_horizontal">
           
<RadioButton android:id="@+id/on"
               android:text
="开灯"
               android:layout_width
="wrap_content"
               android:layout_height
="wrap_content"
               android:checked
="true"/>
           
<RadioButton android:id="@+id/off"
               android:text
="关灯"
               android:layout_width
="wrap_content"
               android:layout_height
="wrap_content"/>
       
</RadioGroup>
       
       
<!-- CheckBox控件演示 -->
       
<ImageView android:id="@+id/imageView02"
           android:layout_width
="wrap_content"
           android:layout_height
="wrap_content"
           android:src
="@drawable/bulb_on"
           android:layout_gravity
="center_horizontal"/>
       
<CheckBox android:id="@+id/checkBox"
           android:text
="开灯"
           android:checked
="true"
           android:layout_width
="wrap_content"
           android:layout_height
="wrap_content"
           android:layout_gravity
="center_horizontal"/>
   
</LinearLayout>
</ScrollView>



publicclass CbRbActivity extends Activity {
   
private ImageView imageView01=null;
   
private ImageView imageView02=null;
   
private CheckBox checkBox=null;
   
private RadioButton on=null;//开灯
   
   @Override
   
publicvoid onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       
       imageView01
=(ImageView)findViewById(R.id.imageView01);
       imageView02
=(ImageView)findViewById(R.id.imageView02);
       checkBox
=(CheckBox)findViewById(R.id.checkBox);
       on
=(RadioButton)findViewById(R.id.on);
       
       on.setOnCheckedChangeListener(listener);
       checkBox.setOnCheckedChangeListener(listener);
   }
   
   OnCheckedChangeListener listener
=new OnCheckedChangeListener(){

       
publicvoid onCheckedChanged(CompoundButton buttonView,
               
boolean isChecked) {
           
if(buttonView instanceof RadioButton){
               imageView01.setImageResource(isChecked
?R.drawable.bulb_on:R.drawable.bulb_off);
           }
elseif(buttonView instanceof CheckBox){
               checkBox.setText(isChecked
?"开灯":"关灯");
               imageView02.setImageResource(isChecked
?R.drawable.bulb_on:R.drawable.bulb_off);
           }
       }
   };
}

目录
相关文章
|
1月前
|
XML 存储 Java
浅谈Android的TextView控件
浅谈Android的TextView控件
31 0
|
2月前
|
XML 编解码 Android开发
安卓开发中的自定义视图控件
【9月更文挑战第14天】在安卓开发中,自定义视图控件是一种高级技巧,它可以让开发者根据项目需求创建出独特的用户界面元素。本文将通过一个简单示例,引导你了解如何在安卓项目中实现自定义视图控件,包括创建自定义控件类、处理绘制逻辑以及响应用户交互。无论你是初学者还是有经验的开发者,这篇文章都会为你提供有价值的见解和技巧。
46 3
|
3月前
|
前端开发 Android开发 开发者
安卓开发中的自定义视图:构建你的第一个控件
【8月更文挑战第26天】在安卓开发的浩瀚海洋中,自定义视图是一块充满魔力的乐土。它不仅是开发者展示创造力的舞台,更是实现独特用户体验的关键。本文将带你步入自定义视图的世界,从基础概念到实战应用,一步步教你如何打造自己的第一个控件。无论你是初学者还是有经验的开发者,这篇文章都将为你的开发之旅增添新的风景。
|
4月前
|
监控 Java Android开发
探究Android应用开发中的内存泄漏检测与修复
在移动应用的开发过程中,优化用户体验和提升性能是至关重要的。对于Android平台而言,内存泄漏是一个常见且棘手的问题,它可能导致应用运行缓慢甚至崩溃。本文将深入探讨如何有效识别和解决内存泄漏问题,通过具体案例分析,揭示内存泄漏的成因,并提出相应的检测工具和方法。我们还将讨论一些最佳实践,帮助开发者预防内存泄漏,确保应用稳定高效地运行。
|
4月前
|
XML 数据格式
Android-自定义三角形评分控件
Android-自定义三角形评分控件
41 0
|
3天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
8天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
10天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
12天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
10天前
|
存储 API 开发工具
探索安卓开发:从基础到进阶
【10月更文挑战第37天】在这篇文章中,我们将一起探索安卓开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和建议。我们将从安卓开发的基础开始,逐步深入到更复杂的主题,如自定义组件、性能优化等。最后,我们将通过一个代码示例来展示如何实现一个简单的安卓应用。让我们一起开始吧!