【鸿蒙 HarmonyOS】UI 组件 ( 单选按钮 | RadioButton 与 RadioContainer 组件 )
文章目录
- 一、RadioButton 与 RadioContainer 组件
- 二、监听 RadioContainer 选择事件
- 三、GitHub 地址
一、RadioButton 与 RadioContainer 组件
RadioButton 组件就是单选按钮 ;
给出 333 个 RadioButton 按钮 , 使用 RadioContainer 编组后 , 只能 333 选 111 , 同一时刻 , 只能有单个按钮处于选中状态 ;
RadioContainer 组件是单选按钮的编组组件 , 可以将若干 RadioButton 放到 RadioContainer 标签中 , 这些 RadioButton 组件只能有一个处于选中状态 ;
RadioContainer 编组 RadioButton 布局代码示例 :
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:orientation="vertical"><!-- 单选按钮容器 --><RadioContainerohos:id="$+id:radioContainer"ohos:height="match_parent"ohos:width="match_parent"ohos:orientation="vertical"><RadioButtonohos:id="$+id:radioButton1"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="horizontal_center"ohos:text="单选按钮 1"ohos:text_size="100"/><RadioButtonohos:id="$+id:radioButton2"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="horizontal_center"ohos:text="单选按钮 2"ohos:text_size="100"/><RadioButtonohos:id="$+id:radioButton3"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="horizontal_center"ohos:text="单选按钮 3"ohos:text_size="100"/></RadioContainer></DirectionalLayout>
显示样式 : 当前单选按钮 2 处于选中状态 ;
下图是使用远程鸿蒙模拟器显示单选按钮 ;
二、监听 RadioContainer 选择事件
调用 RadioContainer 对象的 setMarkChangedListener 方法 , 给 RadioContainer 添加 RadioContainer.CheckedStateChangedListener 监听器 , 可以监听编组在 RadioContainer 下的所有 RadioButton 的选择事件 ;
当某个 RadioButton 被点击时 , 会回调 RadioContainer.CheckedStateChangedListener 监听器的 onCheckedChanged 方法 , 在该方法的第二个参数 int i , 就是被点击的 RadioBtton 的索引 ;
代码示例 :
package com.example.radiobutton.slice;import com.example.radiobutton.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Button;
import ohos.agp.components.RadioContainer;
import ohos.agp.components.Text;public class MainAbilitySlice extends AbilitySlice {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);// 获取文本组件Text text = (Text) findComponentById(ResourceTable.Id_text);// 获取 RadioContainerRadioContainer radioContainer = (RadioContainer) findComponentById(ResourceTable.Id_radioContainer);radioContainer.setMarkChangedListener(new RadioContainer.CheckedStateChangedListener() {@Overridepublic void onCheckedChanged(RadioContainer radioContainer, int i) {text.setText("当前选中 : " + i);}});}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}
}
布局文件 :
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:orientation="vertical"><!-- 单选按钮容器 --><RadioContainerohos:id="$+id:radioContainer"ohos:height="match_content"ohos:width="match_parent"ohos:orientation="vertical"><RadioButtonohos:id="$+id:radioButton1"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="horizontal_center"ohos:text="单选按钮 0"ohos:text_size="100"/><RadioButtonohos:id="$+id:radioButton2"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="horizontal_center"ohos:text="单选按钮 1"ohos:text_size="100"/><RadioButtonohos:id="$+id:radioButton3"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="horizontal_center"ohos:text="单选按钮 2"ohos:text_size="100"/></RadioContainer><Textohos:id="$+id:text"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="horizontal_center"ohos:text="当前选中 : "ohos:text_size="100"ohos:text_color="#FF0000"/></DirectionalLayout>
执行结果 :
三、GitHub 地址
GitHub 主应用 : https://github.com/han1202012/HarmonyHelloWorld
RadioButton 与 RadioContainer 组件示例 Module : https://github.com/han1202012/HarmonyHelloWorld/tree/master/radiobutton
【鸿蒙 HarmonyOS】UI 组件 ( 单选按钮 | RadioButton 与 RadioContainer 组件 )相关推荐
- 3.5【HarmonyOS鸿蒙开发】组件RadioButton和RadioContainer
3.5[HarmonyOS鸿蒙开发]组件RadioButton和RadioContainer 作者:韩茹 公司:程序咖(北京)科技有限公司 鸿蒙巴士专栏作家 一.RadioButton RadioBu ...
- 【鸿蒙 HarmonyOS】UI 组件 ( Text 组件 )
文章目录 一.Text 组件 二.Module 准备 三.代码示例 四.GitHub 地址 一.Text 组件 Text 组件是在 UI 界面中显示文本的组件 ; 1. 布局文件中设置 Text : ...
- 【鸿蒙 HarmonyOS】Ability 中使用 XML 布局文件 绘制布局及 UI 组件
文章目录 一.创建 XML 布局文件 二.XML 布局文件中添加子组件 三.创建 Ability 四.配置 Ability 五.Ability 加载布局文件 六.完整代码及效果展示 四.GitHub ...
- 【鸿蒙 HarmonyOS】UI 组件 ( 拖动条 Slider 组件 )
文章目录 一.布局中设置拖动条 Slider 组件 二.代码中控制拖动条 Slider 组件 一.布局中设置拖动条 Slider 组件 注意该 Slider 组件与 进度条 Progressbar 组 ...
- 【鸿蒙 HarmonyOS】UI 组件 ( 文本输入框 TextField 组件 )
文章目录 一.布局中设置 TextField 组件 二.代码中获取并设置 TextField 组件 一.布局中设置 TextField 组件 TextField 组件是文本输入框 , 允许用户在界面中 ...
- 鸿蒙os事例代码,鸿蒙HarmonyOS App开发造轮子之自定义圆形图片组件的实例代码
一.背景 在采用Java配合xml布局编写鸿蒙app页面的时候,发现sdk自带的Image组件并不能将图片设置成圆形,反复了翻阅了官方API手册(主要查阅了Compont和Image相关的API),起 ...
- 鸿蒙harmonyOS使用eTS UI时的点击监听问题
鸿蒙harmonyOS使用eTS UI时的点击监听问题 文章目录 鸿蒙harmonyOS使用eTS UI时的点击监听问题 前言 一.onClick 二.使用步骤 1.直接调用onClick 2.可以省 ...
- 【鸿蒙 HarmonyOS】UI 布局 ( 帧布局 StackLayout )
文章目录 一.帧布局 StackLayout 一.帧布局 StackLayout 帧布局 StackLayout 可以只设置一个宽度高度属性 , 不设置其它属性 ; 帧布局的特性是可以多层叠加 , 后 ...
- 【鸿蒙 HarmonyOS】Ability 简介 ( 简介 | 创建应用 | Page Ability 生命周期 )
文章目录 一.Ability 简介 二.创建应用 三.Page Ability 生命周期 参考文档 : Page Ability 基本概念 Page Ability 声明周期 AbilitySlice ...
最新文章
- SAP WM初阶TO单据里的Source Destination 存储类型和货架
- ST单片机使用ST Visual Programmer软件烧录程序简易教程
- Learning hard C#学习笔记 C#简介
- 【原创】flume-1.3.0安装配置以及flume启动说明
- boost::allocator_void_pointer
- 中南大学和中山大学计算机专业哪个好,中山大学和中南大学哪个实力更强?一字之差,一起来看看吧!...
- 无限式查找-----2013年2月28日
- 团队第五次 # scrum meeting
- SpringCloud学习笔记018---SpringBoot前后端分离_集成_SpringSecurity_简单实现
- 第四代移动机器人:灵动科技V-AMR全球首发
- 【mysql】扩展-常用函数
- linux系统富士通打印机驱动,PRIMERGY:驱动下载 - 富士通中国
- 2017年笔记本计算机行业,2017笔记本电脑最新排行榜
- Python pandas.DataFrame.add_suffix函数方法的使用
- 密码学之前后向安全性
- 计组知识点总结 指令系统
- H5原生js简单拼图游戏
- luajit开发文档wiki中文版(四) LuaJIT 内部结构
- 关于Linux下Docker内网离线安装的一些笔记
- Java in Tarena_Spring Note04
热门文章
- 汇编学习心得(二)关于字符的处理
- 通过ezjail创建和管理jail虚拟机
- NHibernate VS .NET Type VS DbType 的类型映射关系
- web移动端常见问题解决方案
- (多图) 基于FPGA的FIR数字滤波器设计与仿真
- ListView相关
- 广告小程序后端开发(4.导入地区数据,修改adminx,修改models,手动添加模拟数据)...
- Jmeter-接口测试相关
- “microsoft ace oledb 12.0 未注册”疑云
- Oracle 常用sql整理