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);
           }
       }
   };
}

目录
相关文章
|
13天前
|
XML 存储 Java
浅谈Android的TextView控件
浅谈Android的TextView控件
12 0
|
1月前
|
XML 编解码 Android开发
安卓开发中的自定义视图控件
【9月更文挑战第14天】在安卓开发中,自定义视图控件是一种高级技巧,它可以让开发者根据项目需求创建出独特的用户界面元素。本文将通过一个简单示例,引导你了解如何在安卓项目中实现自定义视图控件,包括创建自定义控件类、处理绘制逻辑以及响应用户交互。无论你是初学者还是有经验的开发者,这篇文章都会为你提供有价值的见解和技巧。
37 3
|
2月前
|
前端开发 Android开发 开发者
安卓开发中的自定义视图:构建你的第一个控件
【8月更文挑战第26天】在安卓开发的浩瀚海洋中,自定义视图是一块充满魔力的乐土。它不仅是开发者展示创造力的舞台,更是实现独特用户体验的关键。本文将带你步入自定义视图的世界,从基础概念到实战应用,一步步教你如何打造自己的第一个控件。无论你是初学者还是有经验的开发者,这篇文章都将为你的开发之旅增添新的风景。
|
3月前
|
监控 Java Android开发
探究Android应用开发中的内存泄漏检测与修复
在移动应用的开发过程中,优化用户体验和提升性能是至关重要的。对于Android平台而言,内存泄漏是一个常见且棘手的问题,它可能导致应用运行缓慢甚至崩溃。本文将深入探讨如何有效识别和解决内存泄漏问题,通过具体案例分析,揭示内存泄漏的成因,并提出相应的检测工具和方法。我们还将讨论一些最佳实践,帮助开发者预防内存泄漏,确保应用稳定高效地运行。
|
3月前
|
XML 数据格式
Android-自定义三角形评分控件
Android-自定义三角形评分控件
37 0
|
Android开发 数据格式 XML
|
13天前
|
缓存 搜索推荐 Android开发
安卓开发中的自定义控件实践
【10月更文挑战第4天】在安卓开发的海洋中,自定义控件是那片璀璨的星辰。它不仅让应用界面设计变得丰富多彩,还提升了用户体验。本文将带你探索自定义控件的核心概念、实现过程以及优化技巧,让你的应用在众多竞争者中脱颖而出。
|
13天前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
54 1
|
16天前
|
Android开发
Android开发表情emoji功能开发
本文介绍了一种在Android应用中实现emoji表情功能的方法,通过将图片与表情字符对应,实现在`TextView`中的正常显示。示例代码展示了如何使用自定义适配器加载emoji表情,并在编辑框中输入或删除表情。项目包含完整的源码结构,可作为开发参考。视频演示和源码详情见文章内链接。
41 4
Android开发表情emoji功能开发
|
14天前
|
Web App开发 安全 程序员
FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势
多年的互联网寒冬在今年尤为凛冽,坚守安卓开发愈发不易。面对是否转行或学习新技术的迷茫,安卓程序员可从三个方向进阶:1)钻研谷歌新技术,如Kotlin、Flutter、Jetpack等;2)拓展新功能应用,掌握Socket、OpenGL、WebRTC等专业领域技能;3)结合其他行业,如汽车、游戏、安全等,拓宽职业道路。这三个方向各有学习难度和保饭碗指数,助你在安卓开发领域持续成长。
42 1
FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势