RadioButton单选按钮扩展集合

« 返回扩展首页

RadioButton单选按钮扩展

本页面收录了多个RadioButton(单选按钮)扩展,为App Inventor应用提供了单选按钮功能。单选按钮允许用户从一组选项中选择唯一的一个选项。

扩展列表

1. UrsAI2RadioButton

下载和安装

功能概述

UrsAI2RadioButton扩展将CheckBox组件转换为RadioButton组件,提供真正的单选功能:

  • 将CheckBox转换为RadioButton外观
  • 确保组内只有一个选项被选中
  • 支持嵌套布局中的RadioButton
  • 保持了WYSIWYG(所见即所得)的优势
  • 支持边框设置和间距调整

使用原理

MIT App Inventor不提供RadioButton组件,但CheckBox的行为与RadioButton非常相似。在Android操作系统中,两个控件都派生自相同的基类(CompoundButton)。此扩展将CheckBox转换为RadioButton。

使用方法

  1. 布局设置: 将要转换的CheckBox放置在一个布局(arrangement)中
  2. 初始化: 在Screen.Initialize事件中调用SetLayout函数
  3. 分组: 每个RadioButton组需要一个独立的扩展实例

示例初始化代码:

when Screen1.Initialize
do
    // 设置布局为RadioButton组
    call UrsAI2RadioButton1.SetLayout HorizontalArrangement1 true

IncludeSubLayouts参数:

  • true: 包含子布局中的CheckBox
  • false: 仅包含直接在布局中的CheckBox

属性

底部间距增加
增加所有受影响RadioButton的底部内边距。
左侧间距增加
增加所有受影响RadioButton的左侧内边距。
右侧间距增加
增加所有受影响RadioButton的右侧内边距。
顶部间距增加
增加所有受影响RadioButton的顶部内边距。

方法

设置边框(组件,颜色,宽度,扩展内边距)
在指定组件周围绘制指定颜色和宽度(单位:DIP)的边框。边框绘制在组件区域内,这会减少组件内容与其边缘之间的距离。如果设置扩展内边距为true,将通过扩展内边距来补偿。
设置布局(布局,包含子布局)
将指定布局注册为RadioButton组,并将其中包含的CheckBox转换为RadioButton。如果包含子布局为true,则子布局中的CheckBox也会被包含在内。每个RadioButton组必须使用扩展的独立实例。第二次调用SetLayout没有效果。

事件

CheckBox被选中()
RadioButton(CheckBox)的Changed事件仅在RadioButton被选中时触发,即状态变为checked = true时触发。

使用示例

右对齐RadioButton实现: 通过使用无文本的CheckBox,文本通过Label添加。CheckBox和Label都排列在HorizontalArrangement中。

运行效果展示:

开发者模式 运行时主题=Classic 运行时主题=Default

2. AppyBuilder RadioButtons

开发者: AppyBuilder 来源: [现有扩展库]

下载和安装

功能概述

AppyBuilder的RadioButton扩展提供了另一种单选按钮实现方案:

  • 简单易用的RadioButton组件
  • 支持分组设置
  • 提供完整的事件处理

基本用法

(详细用法待完善)

RadioButton使用指南

布局设计原则

  1. 组内唯一性: 确保每个RadioButton组内只有一个选项能被选中
  2. 逻辑分组: 使用布局容器将相关的RadioButton组织在一起
  3. 清晰标识: 每个RadioButton都应有明确的标签文本
  4. 合理间距: 使用间距属性优化视觉效果

最佳实践

  1. 初始化设置: 在Screen.Initialize中设置RadioButton组
  2. 事件处理: 使用Changed事件响应用户选择
  3. 状态管理: 在需要时获取当前选中的RadioButton
  4. 样式统一: 保持应用内RadioButton样式的一致性

常见应用场景

  • 设置选项: 语言选择、主题设置等
  • 表单选择: 性别、年龄段等单选信息
  • 模式切换: 单选/多选模式切换
  • 配置选项: 各种配置参数的选择

故障排除

常见问题

Q: RadioButton不能正常工作? A: 确保正确调用了SetLayout函数,并且CheckBox都在指定的布局中。

Q: 多个RadioButton能同时被选中? A: 检查是否所有RadioButton都在同一个布局中,并且只调用了一次SetLayout。

Q: RadioButton样式显示异常? A: 尝试调整IncreasePadding属性来改善间距和显示效果。

Q: 事件不触发? A: 确保使用了正确的事件处理程序,注意RadioButton的Changed事件只在选中时触发。

文档反馈