Files
trail-mate/docs/EnergySweep/uiux.md

4.0 KiB
Raw Permalink Blame History

1) 关键可读性规则(针对 ~227PPI)

字号策略

  • 标题/关键频点1820 px(不要再小)
  • 常规信息1416 px
  • 弱信息/单位/标签1213 px(底线,不再小)
  • 数字(频率/RSSI)尽量用 等宽字体 或数字等宽特性(否则跳动)

线宽与柱宽(高 PPI 必须加粗)

  • 面板边框:2 px(不要 1px
  • 网格线:1 px(但降低不透明度)
  • 光标竖线:2 px
  • 柱状条:4 px 宽(间隔 2 px),否则会变成“毛刺”

点击/触控命中(如果是触控)

  • 最小按钮高度:28 px
  • 按钮内边距:左右 10 px
  • 两个按钮并排比两行更合适(不挤信息)

2) 画布与全局 Token(不变)

  • Screen480(w) × 222(h)
  • BGWarmBG #F6E6C6
  • PanelPanelBG #FAF0D8
  • Line#E7C98F(边框/分隔线)
  • Text#6B4A1E
  • TextDim#8A6A3A
  • Amber#EBA341
  • AmberDark#C98118
  • Warn/Ok/Info#B94A2C / #3E7D3E / #2D6FB6

3) 新的布局(更适合 2.33":信息更少、更大、更“扫一眼就懂”)

A) Topbar(更薄,但字更大)

  • Topbar 高度:28 px(比 30 稍省空间)
  • 区域:x=0,y=0,w=480,h=28
  • 背景:PanelBG
  • 底分隔线:2pxLine

Topbar 内容

  • 左:SUB-GHz SCAN,字号 18Text

  • 右:两个状态标签(文字 13TextDim / Info

    • RSSI(默认 TextDim;工作中用 AmberDark
    • CAD(开启时 Info

高 PPI 下,Topbar 文字 18 才“像标题”。


B) 主区(28 以下的 194 px 高度)

主区 y=28h=194,左右分栏:

  • 左侧频谱面板:w=332
  • 右侧信息面板:w=480-12-10-12-332 = 114(更窄,但我们减少字段 + 放大关键数)

外边距:12,栏间距:10。


4) 左侧:频谱面板(重点:图更清晰)

  • Panelx=12,y=40,w=332,h=170
  • 边框:2px Line
  • 内边距:10

左面板内部

1) Plot 区

  • x=22,y=50,w=312,h=118

  • 网格线:每 26px 一条横线(1pxLineOPA 50

  • 柱:4px 宽,2px 间距

    • 正常柱:Amber
    • 超阈值柱:Warn
  • 光标竖线:2pxInfo

  • 光标底部小三角:Info(更容易定位)

2) 底部频率刻度条(更“可读”)

  • x=22,y=172,w=312,h=28
  • 左:起始频率(14pxText
  • 中:STEP 25k12pxTextDim
  • 右:终止频率(14pxText

刻度条高度提升到 28,是为了让 12–14px 字在 2.33" 上不拥挤。


5) 右侧:信息面板(只保留“对操作有用”的字段)

  • Panelx=354,y=40,w=114,h=170
  • 边框:2px Line
  • 内边距:8

右面板内容(从上到下,强层级)

  1. CURSOR 频点(最大)
  • 433.550:字号 20Text
  • MHz:字号 12,TextDim(贴右上或紧跟)
  1. RSSI(第二层级)
  • -92 dBm:字号 18Text(超阈值改 Warn
  1. BEST(建议频点)
  • 434.125:字号 16Ok
  • 下方小字:SNR +1212TextDim
  1. 进度条 + 百分比(底部)
  • 进度条:h=12,边框 2px Line
  • 填充:AmberDark
  • 右侧 72%12TextDim
  1. 按钮(并排,单行)
  • y = 面板底部 - 28 - 8
  • 两个按钮各 w= (114-8-6)/2 ≈ 50
  • h=28(触控/可读都够)
  • STOP/SCAN:底 Amber(扫描中 STOP 用 Warn
  • AUTO:边框 Info(开启时),默认 Line

右侧很窄,所以把单位、标签都做小字,把数字做大字,扫一眼就懂。


6) 你上一张效果图里“不符合高 PPI 的点”我已经修了

  • 1px 边框会显“发虚” → 全部改 2px
  • 柱太细会像噪点 → 柱宽 4px + 间距 2px
  • 信息太多会挤小字 → 右侧只保留 Cursor/RSSI/Best/Progress
  • 按钮做大但不占两行 → 并排一行

7) LVGL 实现提示(不写代码,只说关键参数)

  • Panel border width2
  • 字体:Title 18 / Big number 20 / Mid 1618 / Small 1213
  • 网格线:Line + opa 50
  • 柱:用 canvas 或 chart,自绘柱子更可控(4px 宽)