视频链接:哔哩哔哩
水平仪功能开发
上一节我们讲解了工具箱 App 的指南针功能的开发,本节我们将讲解 水平仪功能的开发流程。
和指南针功能开发流程类似,我们接下来去修改水平仪的的页面信息
在工作台的项目列表中找到工具箱 App,点击【项目菜单】->【开发文档】进入到需求文档页面。

编辑页面信息
- 点击 切换到页面菜单,选中Compass (指南针)。


- 点击 编辑 按钮,对页面信息进行修改
功能详情
功能详情填写:
- 本功能通过加速度传感器实时获取设备在 x 轴 和 y 轴 上的加速度值(范围为 -9.8 ~ 9.8 m/s²),用于计算小球在水平仪中的位置变化。
根据外圈(大圆)与内圈(小圆)之间的最大半径差(即 r₍大₎ - r₍小₎),确定小球的最大可移动范围。
随后,按照加速度值与该最大距离的比例,计算小球的偏移量,并通过 水平位移 与 垂直位移的变换(Transform) 实现小球在界面中的滚动效果。
参考页面
放入下图:

变量列表
进入变量列表,点击 添加变量:
| 变量名称 | 变量类型 | 是否为数组 | 默认值 | 变量描述 |
|---|---|---|---|---|
| x | Double | 否 | 0 | x的加速度 |
| y | Double | 否 | 0 | y的加速度 |
配置流程
在流程设计中,填写以下流程:
页面初始化:
监听加速度传感器,并将数值赋值给x,y
页面销毁:取消监听加速度传感器
点击保存按钮保存数据
页面搭建
我们先看一下需求中的页面布局结构:
-
最上方是一个导航栏,标题为「水平仪」。
-
导航栏下方首先展示当前的 水平角度。
-
继续往下是水平仪主体,由一个小球图片和一张背景图片组合而成。其中,小球图片会根据手机移动而移动,从而实现水平仪效果
1. 点击右上角 跳转到开发页面,选中“水平仪”页面,开始页面设计。


2. 点击小部件面板图标进入小部件面板

3.在页面预览区域点击顶部导航栏图标,打开添加顶部导航

4. 拖动文本组件到导航栏中间,点击选中刚拖动的文本小部件,右侧出现小部件的配置页面,并配置如下内容
-
文本内容:
水平仪 -
字号:
18 -
字体颜色:
#FFFFFFFF

5.拖动左右布局到上下布局中,然后在右侧的属性编辑器中配置属性,属性信息如下:
-
外边距:
上外边距40,下外边距40 -
主轴对齐:
居中对齐 -
次轴对齐:
居中对齐

6.拖动文本到左右布局中,然后在右侧的属性编辑器中配置属性,属性信息如下:
-
文本内容:
${max((x * 90 / 9.8).abs().toInt(), (y * 90 / 9.8).abs().toInt())}°-
我们可以使用
${}来包裹一个变量值 -
(x * 90 / 9.8).abs().toInt()因为x的加速值,范围是-9.8~9.8,这里我是把范围转换成了-90~90,正好对应着手机竖着和反着 -
max(a,b)代表着两者取最大值
-
-
打开“显示模拟预览文本”并填写预览文本为
45°,当我们使用变量表示内容后可能会导致内容过长或者显示内容不符合预期,那么我们可以使用模拟预览文本。 -
字体大小:
36

7.拖动容器到上下布局中,然后在右侧的属性编辑器中配置属性,属性信息如下:
-
宽:
300 -
高:
300 -
背景色:
#00FFFFFF
-
打开背景图片
-
图片来源:
我的文件 -

-
- 对齐方式:
居中对齐

8.拖拽 旋转小部件到容器中,并配置如下参数
-
打开平移,
-
X轴:
-x*130/9.8 -
Y轴:
y*130/9.8
-
- 对齐方式:
居中对齐

9.拖拽 图片小部件到旋转中,并配置如下参数
-
宽:
40 -
高:
40 -
图片来源:我的文件
-
本地文件点击上传图片,选择我下面的图片
![]()

至此页面搭建完成
配置逻辑(动作流程图)
进入页面动作流程图
1.点击右上角 页面设置 图标进入到页面设置中

2.打开动作 → 点击 编辑流程图

页面初始化
1. 点击页面初始化下面的加号添加事件

2.点击开始下方的加号,添加动作

3.鼠标选中动作,右侧出现动作配置并配置如下内容
-
动作类型:硬件动作
-
硬件类型:加速度(包含重力)
-
传感器操作类型:开始数据监听
-
采样间隔:
200 -
左右加速度分量绑定变量:
x -
前后加速度分量绑定变量:
y

页面销毁
1. 点击页面销毁下面的加号添加事件
2.点击开始下方的加号,添加动作
3.鼠标选中动作,右侧出现动作配置并配置如下内容
-
动作类型:硬件动作
-
硬件类型:加速度(包含重力)
-
传感器操作类型:停止数据监听

点击右上角叉号保存流程。至此,页面及逻辑全部设置完成。
配置路由并开始打包
1.将指南针页面的路由输入框内容清空,使其作为根路由页面。

2.需要修改Compass(指南针) 的路由名称,避免出现两个根路由导致报错。在页面管理中选择 Compass(指南针),将其路由修改为 compass。

3.接下来进行 App 打包:点击右上角 下载 → 下载应用

在弹窗中做如下配置
-
平台:Android
-
版本号:1.0.0
-
选择Flutter版本:最新版
-
点击下载

系统将自动跳转至日志管理页面。你可以扫码关注公众号,打包成功后会收到通知。
待打包完成后点击下载按钮,安装应用并进行测试。

实机效果
打开 App 进入水平仪页面。
我们可以看到小球随着手机翻转而移动

76

被折叠的 条评论
为什么被折叠?



