10个App Inventor 2界面组件隐藏技巧,老用户都未必全用过
做App的时候,80%的时间花在界面上,但很多人只知道拖个按钮、放个标签就完事了。今天扒一遍App Inventor 2用户界面组件里那些容易被忽略的细节,每个都能直接提升你的App质感。
基础篇
技巧1: 三色体系让App一秒变"正规军"
Screen组件里有三个颜色属性,大部分人从来没碰过:
- PrimaryColor(主题色):整个屏幕的主色调,影响标题栏和所有控件默认颜色
- SecondaryColor(提示色):比主题色略亮或略暗,用于次要操作和提示信息
- AccentColor(交互色):按钮、输入框光标、进度条、选中高亮等交互元素的颜色
三色搭配好,你的App立刻从"学生作业"变成"正式产品"。参考Android Material设计规范,主色占界面60%,提示色30%,交互色10%。
技巧2: 按钮的6种事件,不只是"被点击"
大多数人用按钮只绑定"被点击"事件。实际上Button有6种事件:
| 事件 | 触发时机 |
|---|---|
| 被点击 | 按下并松开 |
| 被慢点击 | 长按住按钮 |
| 被按压 | 手指按下瞬间 |
| 被松开 | 手指离开瞬间 |
| 获得焦点 | 光标移到按钮上 |
| 失去焦点 | 光标从按钮移开 |
用"被按压"+"被松开"可以实现类似微信语音按钮的效果——按下开始录音,松开停止。
技巧3: Label居然能渲染HTML
Label有个HTML格式属性,勾选后文本就会按HTML渲染。这意味着你可以:
- 用
<b>加粗、<i>斜体、<u>下划线 - 用
<font color="red">改变局部文字颜色 - 用
<br>换行、<small>缩小字号
一个Label组件就能实现富文本混排,省去放多个Label拼接的麻烦。
进阶篇
技巧4: 自定义字体一招搞定
按钮、标签、复选框等组件都有字体属性,默认只有default/serif/sans serif/monospace四种。但其实你可以:
- 上传
.ttf字体文件到项目资源 - 在字体属性下拉框中选中它
你的App立刻有了专属字体。做儿童教育类App用圆体字,做商务类App用黑体,质感完全不同。
技巧5: ListPicker搜索框——被埋没的交互利器
ListPicker有个**显示搜索框(ShowFilterBar)**属性,设置为真之后,弹出的列表顶部会出现一个搜索框。
这意味着:当你有几十甚至上百个选项时,用户不需要滚动查找,直接输入关键词就能过滤。比ListView更适合"选择"场景,因为选完自动收起,不占屏幕空间。
技巧6: 两种进度条,用对场景是关键
App Inventor 2提供了两种进度条:
- CircularProgress(圆形进度条):只控制显示/隐藏,不能设具体比例。适合"加载中、请稍候"这种不确定时长的场景
- LinearProgress(线性进度条):可以设置最小值、最大值、当前进度。适合"下载进度50%"这种可量化的场景
注意:线性进度条的进度模式需要把Screen主题设为"设备默认"等非Classic主题才能生效,这是个坑了不少人的隐藏限制。
高级篇
技巧7: Image组件的隐藏动画
Image不只是显示静态图片,它有个动画形式属性:
- ScrollRight / ScrollRightFast / ScrollRightSlow(向右滚动)
- ScrollLeft / ScrollLeftFast / ScrollLeftSlow(向左滚动)
- Stop(停止)
可以做类似跑马灯的效果。另外旋转角度属性可以在设备上旋转图片(设计视图不显示旋转效果,真机才看得到)。
技巧8: Screen的"关闭其他屏幕时"事件——多屏通信桥梁
做多屏App时,屏幕之间传值是个痛点。Screen有个关闭其他屏幕时(其他屏幕名称, 返回结果)事件:
- 屏幕2调用"关闭屏幕并返回值"方法后,屏幕1的这个事件就会触发
- 返回结果参数支持任意类型(文本、数字、列表、字典都行)
- 按设备返回键也能触发,但返回结果为空
这比用全局变量传值优雅得多。
技巧9: 响应式设计一键开启
Screen1的屏幕大小属性默认是"响应式",此时布局会根据设备实际分辨率自动适配。如果你发现App在不同手机上布局错位,检查这个属性是否被改成了"固定大小"。
配合宽度百分比和高度百分比属性(所有UI组件都有),可以让按钮、标签等按比例缩放,而不是写死像素值。
技巧10: Notifier对话框的正确打开方式
Notifier不只是简单的弹窗提示。它可以:
- 显示带按钮的选择对话框
- 显示带输入框的对话框
- 自定义对话框标题和按钮文字
结合Notifier可以做登录确认、危险操作二次确认等交互,不需要额外切屏幕。
速查表
| 组件 | 最容易被忽略的属性/事件 |
|---|---|
| Screen | AccentColor、关闭其他屏幕时、屏幕大小 |
| Button | 被按压/被松开事件、形状(圆形/椭圆)、自定义.ttf字体 |
| Label | HTML格式、文本对齐 |
| Image | 动画形式、旋转角度、缩放模式(比例/自动) |
| ListPicker | 显示搜索框、项背景色/文本色 |
| LinearProgress | 进度模式需非Classic主题 |
| CircularProgress | 仅控制显示/隐藏,不可设比例 |
| Notifier | 多种对话框模式 |
| Screen1 | 响应式设计、屏幕方向(横屏/竖屏/传感器) |
📁完整组件文档参考:https://www.fun123.cn/reference/components/userinterface.html