AppInventor2 中文社区
标题:
终于不用拿复选框凑了:App Inventor 新组件「单选框」,问卷表单一个搞定
[打印本页]
作者:
App Inventor 2
时间:
2 小时前
标题:
终于不用拿复选框凑了:App Inventor 新组件「单选框」,问卷表单一个搞定
摘要:性别、支付方式、单选题——只能选一个的场景太多了。App Inventor 原来只有复选框,想做单选得自己写互斥逻辑。现在有了「单选框」组件:选项用逗号一填,点一个其它自动取消。
复选框凑单选,有多麻烦
以前做个「男 / 女 / 保密」,得放三个复选框,然后在每个复选框的「状态被改变」事件里,把另外两个的「选中」设为假。三个选项三个事件,五个选项就五个事件,加一个选项要改一圈。
「单选框」一个组件全包了。它在「用户界面」类里,用法跟下拉框很像:
选项在设计器的「元素字串」里用逗号分隔填,比如 男,女,保密;
也可以在代码里设置「元素列表」;
勾选「横向排列」,选项排成一行,适合短选项。
用户点选后触发「选择完成时」事件,选中的文字在参数里。
▲ 横向排列的单选项(示意图)
案例:性别选择
拖一个单选框,「元素字串」填 男,女,保密,勾选横向排列;再拖一个按钮(改名 按钮_提交)、一个标签(改名 标签_结果):
▲ 性别选择,提交前检查是否选了
重点在提交时的判断:单选框
默认一项都不选
,这时「选中项索引」是 0。提交前一定要查一下,不然用户什么都没选也提交上去了。
一份问卷有几道单选题,就放几个单选框,各管各的选项,互不干扰。
▲ 几道单选题就放几个单选框(示意图)
案例:代码里设置选项和默认值
选项是动态的(比如从服务器拿来的配送方式),就在代码里设,顺便给个默认选中:
▲ 代码里设置选项和默认选中
序号从 1 开始,设成 1 就是默认选第一项。注意:代码里设置选中项
不会触发
「选择完成时」,只有用户点选才会。
▲ 代码里设置选项和默认值(示意图)
属性一览
元素字串:逗号分隔的选项文字,如 男,女
元素列表:选项列表,代码里动态设置用它
选中项:选中的文字;没选时为空文本
选中项索引:从 1 开始;没选时为 0
横向排列:选项排成一行;默认竖向一行一个
字体大小 / 文本颜色 / 启用:外观与是否可点
一个提醒
提交到服务器时,别把「选中项」的文字当成固定编号存。哪天你把「加急配送」改名成「次日达」,旧数据就对不上了。需要稳定编号就存「选中项索引」,或者自己维护一张对照表。
安卓和鸿蒙都支持。文档站搜「单选框使用指导」,有完整案例和可导入的 .aia 源码。
本文首发于微信公众号「AI2中文网」。
欢迎光临 AppInventor2 中文社区 (https://bbs.tsingfun.com/)
Powered by Discuz! X3.3