android: rotate bar icons/text + OSD labels by physical grip angle (accelerometer), image region stays glued
This commit is contained in:
@@ -51,6 +51,7 @@
|
||||
android/app/src/main/kotlin/com/mag160c/thermal/
|
||||
├─ MainActivity.kt 启动,enableEdgeToEdge + 隐藏状态栏(沉浸)
|
||||
├─ ui/AppRoot.kt App壳:底部导航(实时/相册/分析/设置)恒贴竖屏底边(Activity 竖屏锁定)
|
||||
├─ ui/DeviceOrientation.kt 加速度计→手机物理朝向(条栏/OSD 文字补偿旋转用)
|
||||
├─ ui/UiInsets.kt 单例:底部导航高度 px(渲染器用它留白)
|
||||
├─ ui/theme/Theme.kt M3 动态取色(Android12+)
|
||||
├─ ui/live/ ★实时画面(最核心)
|
||||
@@ -105,6 +106,11 @@ res/drawable/*.xml 自绘矢量图标(双弧圆等可靠几何图形
|
||||
永不旋转。顶栏、热像区域、底栏的**绝对位置**永远贴着手机竖屏的物理顶边(挖孔侧)、
|
||||
中间、物理底边;手机怎么物理旋转,构图都不动(用户明确要求:屏显方向必须始终
|
||||
与热像镜头实际方向对应,横屏后显示区域跟着屏幕转是错的)。**不要改回 fullSensor。**
|
||||
- **图标/文字按物理持机朝向补偿旋转**(第六轮定稿):`ui/DeviceOrientation.kt` 用
|
||||
加速度计得出手机相对竖屏的顺时针物理转角 φ(0/90/180/270,带滞回;竖屏锁定下
|
||||
Display.rotation 恒 0 不可用)。顶栏/底部导航条目 `graphicsLayer rotationZ=-φ`
|
||||
原位预旋转;渲染器 OSD 文字 `canvas.rotate(-φ)` 绕锚点旋转(标记圆点、色标条
|
||||
几何仍钉死在图像上)。对话框与其他页签暂不补偿。
|
||||
- **图像恒 90°CW 绘制为 3:4 竖向**,填满可用区域(顶栏下~底导航上)。
|
||||
- **文字/图标恒屏幕水平**(可读);标记文字位置自动跟随(probeToScreen 固定 90° 映射:
|
||||
`fx=1-sy/120, fy=sx/160`)。
|
||||
|
||||
@@ -138,6 +138,22 @@
|
||||
- [x] 单元测试全过;APK 已更新 build-artifacts/mag160c-app-debug.apk。
|
||||
- 注:不要再改回 fullSensor/sensor 横屏;横竖屏适配类需求一律以"竖屏构图恒定"为准。
|
||||
|
||||
## 用户反馈修复 第六轮(2026-09-07,横屏持机图标文字可读)
|
||||
|
||||
- [x] **用户反馈**:竖屏锁定后,横过来拿手机时顶栏/底栏里的图标和文字不旋转(侧着)。
|
||||
约定补全:**构图钉死竖屏框架不变**(条栏绝对位置+热像区域不动),但条栏内容
|
||||
(图标+文字)与 OSD 文字要按**物理持机朝向**补偿旋转,保持可读。
|
||||
- [x] 新增 `ui/DeviceOrientation.kt`:加速度计→手机相对竖屏的顺时针物理转角
|
||||
φ∈{0,90,180,270}(主轴判定+2.5m/s² 滞回;竖屏锁定下 Display.rotation 恒 0 不可用)。
|
||||
- [x] 顶栏 7 控制项/底部导航 4 项:`graphicsLayer rotationZ=-φ` 原位预旋转(布局不动)。
|
||||
- [x] 渲染器 OSD 文字(中心温/探针标注/色标最高最低数字)`canvas.rotate(-φ)` 绕锚点
|
||||
旋转;标记圆点、色标条几何仍钉死在图像上。
|
||||
- [x] 模拟器实测(`adb emu sensor set acceleration` 驱动 4 姿态):四姿态下热像区域
|
||||
完全一致,图标/文字按姿态正确补偿(analysis/preview/preview_pose*_v6.png);
|
||||
姿态复位 0° 后输出与第五轮逐字节一致(MD5 相同)。
|
||||
- [x] 单元测试全过;APK 已更新。
|
||||
- 注:对话框(调色板等)与其他页签内容未做补偿旋转(保持竖屏可读),如需再加。
|
||||
|
||||
## 待办
|
||||
|
||||
- 真机USB实测(温度绝对值标定、FFC/录像/MDT保存端到端)
|
||||
|
||||
Reference in New Issue
Block a user