单选按钮组

  • 更新时间:2026-06-15 07:53:04

单选按钮组-radio-group

在此布局中,单选按钮会自动取消和选中,保证一组按钮只被选中一个

是布局父类的(XLayout)的子类

原生类型:{android.widget.RadioGroup}

一、常用属性

方向 - 排列方向

设置排列方向

可选参数:v(纵向),h(横向)

<单选按钮组 方向="横向">
    <单选按钮 文本="选项1"/>
    <单选按钮 文本="选项2"/>
</单选按钮组>

主题颜色 - 主题颜色

设置主题颜色

<单选按钮组 主题颜色="#57965C" 文本="主题色为绿色" />

内边距 - 内边距

设置内边距

参数顺序:左,上,右,下(单位:dp)

<单选按钮组 内边距="20,20,20,20" 文本="内边距" />

重力 - 重力

设置重力

可选值参考重力参数表

<单选按钮组 重力="中|上" />

背景颜色 - 背景颜色

设置背景颜色

<单选按钮组 背景颜色="#1E1F22" 文本="背景颜色" />

背景图片 - 背景图片

设置背景图片

<单选按钮组 背景图片="./资源/图片.png" 文本="背景图片" />

存储关键字 - 应用内存储

应用内存储

通过storeKey(存储关键字)指定一个存储整数的关键字,获取值时可以直接通过$storage($存储)获取进度值。

注意:不同的控件存储的类型不同,对于本控件(进度条)则存储的是整数类型,表达当前进度值

<!-- 你必须在ui(界面)节点中通过store(存储)指定$storage($存储)的命名空间,等价于使用代码:let storage = $storage.create("MyAppProgress"); -->
<界面 存储="MyRadioGroup">
    <状态栏 />
    <!-- 使用storeKey(存储关键字)属性,指定关键字,等价于使用代码:let data = $storage.create("MyRadioGroup").getInt("下标"); -->
    <!-- 使用storeDef(存储默认值)属性,指定关键字,等价于使用代码:let data = $storage.create("MyRadioGroup").getInt("下标",0); -->
    <单选按钮组 存储关键字="下标" 存储默认值="0">
        <单选按钮 文本="吃饭"/>
        <单选按钮 文本="睡觉"/>
        <单选按钮 文本="游戏"/>
    </单选按钮组>
</界面>

如果我们已经配置好了应用内存储,则可以直接获取数据:

注意:一、要使用应用内存储,必须在ui(界面)节点指定属性store(存储)的值,该值指定存储的命名空间; 二、不是所有的控件都支持应用内存储; 三、不同的控件存储的数据类型可能都不一致,例如:输入类型的控件存储的是字符串类型,开关、多选框存储的就是布尔类型的数据。

//创建(或者加载)存储对象
let storage = $storage.create("MyRadioGroup");//名称要一致
//获取数据
let data = storage.getInt("index",0);//数据类型是整数

选中(下标)

设置选中的下标

  • 参数 : 下标 {int} 按钮下标
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获得控件
定义 单选组 = 界面.找控件("我的单选组");
//设置选中的下标
单选组.选中(0);

监听选中(回调函数)

监听选中按钮的下标

  • 参数 : 回调函数 ((下标)=>{}) 回调函数
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获得控件
定义 单选组 = 界面.找控件("我的单选组");
//监听选中按钮的下标
单选组.监听选中((下标)=>{
    $界面.土司("当前下标:"+下标);
});

获取选中下标()

获取选中的下标

  • 返回 : {int} 下标 (-1表示没有选择)
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获得控件
定义 单选组 = 界面.找控件("我的单选组");
//获得选中的下标
定义 下标 = 单选组.获取选中下标();

获取选中文本()

获取选中的文本

  • 返回 : {string} 文本 (null表示没有选择)
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获得控件
定义 单选组 = 界面.找控件("我的单选组");
//获得选中的文本
定义 文本 = 单选组.获取选中文本();