3. 视觉UI设计理论

3.1 色彩体系

3.1.1 色彩分类框架

以下色值仅为示例性参考值,展示色彩体系的方法论应用。实际项目应以品牌规范和车厂设计系统为准。

车载HMI的色彩体系采用功能化分类,确保每种颜色都有明确的使用场景和语义:

色彩类别功能说明典型色值(示例)使用场景
主色(Primary)品牌识别色,用于关键操作和强调#0066FF(品牌蓝)主按钮、选中状态、关键图标
辅助色(Secondary)辅助主色,用于次要操作#00B4D8(青色)次级按钮、辅助信息
成功色(Success)表示操作成功或正常状态#2ECC71(绿色)成功提示、已连接状态
警告色(Warning)表示警告或需注意#F39C12(橙色)警告提示、低油量
危险色(Danger)表示危险或错误#E74C3C(红色)错误提示、紧急制动
信息色(Info)表示一般性信息#3498DB(蓝色)信息提示、帮助
中性色(Neutral)用于文本、边框、背景、分割线#1A1A1A ~ #F5F5F5界面骨架、文字层级
背景色(Background)页面和模块的背景#000000 / #FFFFFF页面底色、卡片底色

3.1.2 车规对比度标准

车载场景对对比度有极为严格的要求,需同时满足国际标准和车规认证要求:

标准来源要求适用场景
WCAG 2.1 AA级正文对比度 ≥ 4.5:1【推荐·国际标准】W3C无障碍指南,行业普遍遵循
WCAG 2.1 AAA级正文对比度 ≥ 7:1【推荐·国际标准】W3C无障碍指南,高于AA级的要求
WCAG 2.1 大文字大文字对比度 ≥ 3:1【推荐·国际标准】W3C无障碍指南,大文字标准
ISO 15008:2017【推荐·国际标准】在中国对应GB/T可读文本最小视角高度 ≥ 20角分(推荐 ≥ 25角分); 最小对比度 ≥ 3:1(基本可读)/ ≥ 5:1(推荐); 字体宽度不宜小于高度的60%; 笔画宽度与字高比 0.12~0.18车规认证必需
行业推荐值所有文本对比度 ≥ 5:1行业最佳实践,非强制,高于WCAG AA

对比度实测场景:

场景条件对比度修正建议
强光直射(夏季正午)对比度 ≥ 7:1,使用加粗字体
夜间黑暗环境避免纯白(#FFFFFF),使用灰白(#BDBDBD ~ #E0E0E0),对比度 5:1~7:1
隧道/明暗交替支持自动亮度调节,对比度保持 ≥ 5:1
偏光太阳镜避免大面积垂直条纹,垂直条纹在偏光太阳镜下可能消失或被大幅削弱

3.1.3 深浅色模式色彩映射

Token名称浅色模式(Light)深色模式(Dark)使用场景
bg_primary#FFFFFF#121212页面主背景
bg_secondary#F5F5F5#1E1E1E卡片背景、模块底色
bg_tertiary#E8E8E8#2D2D2D输入框背景、Hover状态
text_primary#1A1A1A#BDBDBD主标题、重要文本
text_secondary#666666#A0A0A0次级文本、描述信息
text_tertiary#999999#8A8A8A辅助文本、时间戳
border_primary#E0E0E0#333333分割线、边框
border_focus#0066FF#4D94FF聚焦状态边框

3.2 字体与排版

3.2.1 字号层级系统

车载HMI采用等差数列构建字号层级,确保信息的层次清晰可辨。

以下字号基于ISO 15008视角高度要求和150PPI屏幕基准的参考值。实际项目应根据目标屏幕PPI和厂商规范调整。

ISO 15008:2017【推荐·国际标准】视角高度要求:可读文本最小视角高度 ≥ 20角分(推荐 ≥ 25角分)。在600mm观看距离、167 PPI屏幕上,对应最小字号约23px(推荐28px)。在500mm近距离观看时,最小字号约19px。

层级用途驾驶中字号停车中字号字重行高最小使用场景
Display超大数字(车速、时间)72-9672-96Bold (700)1.1组合仪表车速
H1页面主标题36-4836-48Bold (700)1.2页面顶部标题
H2模块标题28-3228-32SemiBold (600)1.3卡片标题
H3次级标题22-2422-24SemiBold (600)1.4列表分组标题
H4小节标题18-2018-20Medium (500)1.4设置项标题
Body Large正文大号1616Regular (400)1.6重要描述文本
Body标准正文1614Regular (400)1.6通用文本
Caption辅助文本≥ 16≥ 14Regular (400)1.5时间戳、辅助说明
Overline标签/角标≥ 14≥ 14Medium (500)1.4标签角标(停车中)

车规字号硬性要求:

要求项标准值说明
驾驶中最小字号18px满足ISO 15008视角高度要求(≥20角分@600mm)
停车中最小字号14px停车中辅助文本可降至14px
重要文本字号18px驾驶中需要识别的关键信息
警告文本字号20px安全警告类文本
车速/限速显示48px组合仪表核心信息

单位说明:Android平台推荐使用sp(scalable pixels)作为字号单位,1sp ≈ 1px(默认160 DPI下),在不同DPI屏幕上会按比例缩放,以支持系统字体大小设置(辅助功能)。

3.2.2 字体族规范

平台推荐字体字重覆盖备选字体
Android AutomotiveRoboto / Noto Sans400/500/700MiSans、HarmonyOS Sans
Linux(Qt)Noto Sans CJK / PingFang400/500/700Source Han Sans
自研字体定制品牌字体400/500/700系统默认字体

字体加载策略:

  • 优先加载 Regular (400)Bold (700) 两个字重
  • Medium (500) 按需加载
  • 字体文件总大小控制在 2MB以内(常驻内存部分)
  • 使用字体子集化(Subset)技术,仅加载需要的字符集
  • 完整字体库可按需从存储加载,不占用常驻内存

3.2.3 排版规范

属性规范值说明
行高(Line Height)1.4 - 1.6倍字号标题1.2-1.4,正文1.5-1.6
段落间距0.5 - 1倍字号段落之间留白
文本对齐优先左对齐驾驶中避免居中对齐的长段落
文本截断单行省略 / 最多2行省略超过2行必须提供展开方式
大写文本避免连续大写全大写降低可读性,仅限缩写

3.3 布局与网格系统

3.3.1 安全区域定义

车载屏幕需要在物理安装位置的基础上,定义有效显示和交互的安全区域:

区域类型定义用途设计注意
全屏区域(Full Screen)屏幕物理分辨率完整显示范围避免在此区域放置重要交互元素(边缘可能不可见)
安全显示区域(Safe Display)距离边缘 ≥ 24px(推荐32px)信息展示区域所有信息类内容应在此区域内
安全交互区域(Safe Interaction)距离边缘 ≥ 40px(推荐48px)可交互元素放置区所有按钮、手势区域应在此区域内
手部可达区域(Thumb Zone)驾驶者自然伸手可及范围高频操作放置区根据驾驶位左右舵确定

左右舵差异:

车型高频操作区低频操作区说明
左舵(中国/美国)屏幕左侧(驾驶员侧)屏幕右侧左手更容易触及左侧区域
右舵(英国/日本)屏幕右侧(驾驶员侧)屏幕左侧右手更容易触及右侧区域

3.3.2 网格系统

以下间距值基于8px网格系统的示例性参考。实际项目可根据屏幕尺寸和厂商规范调整基数。

车载HMI采用 8px网格系统(8-Point Grid)作为布局基础:

属性规范值说明
网格基数8px所有间距、尺寸均为8的倍数
最小间距4px仅在紧凑场景下使用
常用间距8px / 16px / 24px / 32px / 40px / 48px对应Token名称:space_1x ~ space_6x
大间距64px / 80px / 96px模块间间距
页面边距24px / 32px页面左右边距

常用间距对照表:

Token使用场景
space_0.5x4px图标与文本间距、紧凑间距
space_1x8px小组件内间距、列表项紧凑间距
space_2x16px标准间距、列表项间距、卡片内边距
space_3x24px模块间距、按钮组间距
space_4x32px大模块间距、卡片外间距
space_5x40px页面分区间距
space_6x48px页面大分区
space_8x64px页面级间距

3.3.3 响应式适配

车载屏幕分辨率是固定的硬件参数,适配应基于固定分辨率设计,配合比例缩放(scale factor)进行适配。

屏幕尺寸分类分辨率范围布局策略示例车型
小屏8-10英寸单列布局,Tab在底部经济型车
中屏10.1-12.3英寸双列布局,Tab在左侧或底部主流车型
大屏12.8-15.6英寸三列布局,Dock常驻豪华车型
超大屏15.6英寸以上自由分区,多窗口旗舰车型

常见车机固定分辨率:

分辨率屏幕比例典型应用布局策略
800 × 4805:3老款车机单列布局
1024 × 60017:10经济型车单列/双列布局
1280 × 80016:10中端车型双列布局
1920 × 7208:3超宽联屏三列分区布局
1920 × 108016:9主流大屏双列/三列布局
2560 × 108021:9超宽大屏三列+侧边栏布局
3072 × 192016:10高端车型(如小米SU7)高分辨率适配+scale factor

说明:车机适配应以目标分辨率为基准进行固定布局设计,通过scale factor适配不同PPI屏幕,而非使用Web式的响应式断点。


3.4 图标设计规范

3.4.1 图标尺寸规范

以下尺寸基于车载屏幕视角高度计算的参考值。实际项目应根据屏幕PPI和操作距离调整。

尺寸类型尺寸(px)使用场景线条粗细
小型图标20 × 20列表项辅助图标、按钮内图标(紧凑场景)2px
标准图标24 × 24Tab图标、常规按钮图标2px
中型图标32 × 32导航栏图标、工具栏图标2px
大型图标48 × 48模块入口图标2.5px
超大图标64 × 64空状态图标、功能引导图标2.5px

车规要求:车机图标最小尺寸应为 24×24px(标准),紧凑场景不低于 20×20px。按钮内图标不低于 20×20px。 参考:Google Material Design车载图标规范推荐最小24dp,Apple CarPlay推荐25pt(约24px@1x)。 12×12px和16×16px图标在车载屏幕上因视角过小(约10.5角分)而不可靠识别,已删除。

3.4.2 图标绘制规范

属性规范值说明
画布尺寸24 × 24px(标准)所有图标统一画布
安全边距2px图标内容距离画布边缘 ≥ 2px
圆角2-4px统一圆角风格
端点样式圆角端点(Round Cap)避免尖锐端点
线条粗细2px(标准)车机图标最小线条粗细 2px
转角样式圆角连接(Round Join)线条转角处使用圆角
填充规则优先线性风格可使用面性风格,但需全局统一
视觉修正允许对圆形/三角形进行视觉居中修正

车规要求:车机图标最小线条粗细应为 2px,标准图标推荐 2.5px,大型图标可使用 3px。1.5px线条在强光直射(>50,000 lux)条件下可能丢失可见性,已删除。

3.4.3 图标设计原则

  • 语义清晰:图标应在1秒内被理解,不依赖文案也能传达含义
  • 风格统一:同一产品内的图标必须保持风格一致(线型/面型/线面结合)
  • 最小复杂度:图标细节不宜过多,在最小尺寸下依然清晰可辨
  • 避免文字:图标内不得嵌入文字(除品牌Logo外)
  • 状态完整:每个图标至少提供 默认/选中/禁用 三种状态

3.5 组件设计规范

3.5.1 按钮组件(Button)

以下参数为示例性参考值,展示组件规范的方法论。实际项目应以厂商设计系统为准。

按钮是HMI中最核心的交互组件,必须定义完整的状态体系:

属性主按钮(Primary)次级按钮(Secondary)文字按钮(Text)危险按钮(Danger)
背景色color_primarycolor_secondary透明color_danger
文字色#FFFFFF#FFFFFFcolor_primary#FFFFFF
圆角8px8px4px8px
高度48px(≈7.5mm@160dpi,约屏幕高度的6-8%)48px40px48px
内边距0 24px0 24px0 12px0 24px

物理高度参考:48px对应约7.5mm物理高度(@160dpi),约屏幕高度的6-8%。不同屏幕尺寸下应保持物理高度一致。

按钮全状态定义:

状态视觉表现触发条件说明
默认(Default)正常样式初始状态
悬停(Hover)亮度+10%鼠标悬停/手指接近(悬浮触控)仅停车中有效
按下(Pressed)亮度-15% + scale(0.97)手指按下触觉反馈
禁用(Disabled)透明度40% + 灰度不可操作时不可点击
加载(Loading)禁用状态 + 旋转Spinner异步操作中不可点击
聚焦(Focused)外发光/边框高亮键盘Tab聚焦支持无障碍

3.5.2 输入框组件(Input)

属性规范值说明
高度48-56px确保足够的触控区域
圆角8px与按钮保持一致
内边距0 16px左右留白
边框默认1px border_primary浅色细边框
边框聚焦2px color_primary聚焦时加粗变色
错误状态2px color_danger + 底部错误提示输入验证失败
禁用状态背景色 bg_tertiary + 文字透明度40%不可编辑
占位符颜色text_tertiary提示文字

3.5.3 列表组件(List)

属性规范值说明
列表项高度56-72px根据内容复杂度调整
列表项内边距16px 24px上下16px,左右24px
列表项间距0px(紧凑)/ 4px(宽松)默认紧凑
分割线1px border_primary最后一项无分割线
左侧图标区56px宽图标/头像区域
右侧操作区56px宽箭头/开关区域
悬停状态背景色 bg_secondary鼠标悬停
按下状态背景色 bg_tertiary手指按下

3.5.4 弹窗组件(Dialog / Modal)

属性规范值说明
弹窗宽度屏幕宽度的 60-80%,最大不超过 640px根据内容自适应
圆角16px大圆角柔和视觉
蒙层颜色rgba(0,0,0,0.6)半透明黑色遮罩
标题字号H3(22-24px)明确醒目
内容最大高度屏幕高度的60%超出则内部滚动
按钮布局主操作按钮靠近驾驶员一侧左舵车主操作在左,右舵车在右
弹窗层级z-index: 1000+确保在最上层

弹窗类型:

类型使用场景是否可取消按钮数量
确认弹窗需要用户明确确认的操作可取消2个(取消+确认)
警告弹窗重要警告信息可取消1-2个
错误弹窗操作失败/错误信息可取消1个(我知道了)
底部弹窗选择器、分享面板可取消(点击蒙层)可变
全屏弹窗复杂设置流程有返回按钮可变

3.5.5 导航栏组件(Navigation Bar)

属性顶部导航栏底部Tab栏侧边导航栏
高度/宽度64-80px80-96px200-240px
背景色bg_primary + 模糊效果bg_primarybg_secondary
阴影底部1px分割线顶部1px分割线右侧1px分割线
图标尺寸24px24px20px
文字字号H4(18-20px)Caption(≥14px)Body(≥14px)
选中状态文字高亮+下划线图标高亮+文字高亮背景高亮+文字高亮

3.6 Design Token体系

3.6.1 Token命名规范

采用结构化命名法:{类型}_{用途}_{状态}_{深浅度}

命名段可选值说明
类型(Type)color / font / space / radius / shadow / size / z-index / timeToken的数据类型
用途(Usage)primary / secondary / success / warning / danger / info / neutral / bg / text / borderToken的使用场景
状态(State)default / hover / pressed / disabled / focused / active / checkedToken的适用状态
深浅度(Shade)50 / 100 / 200 / 300 / 400 / 500 / 600 / 700 / 800 / 900色彩的深浅层级

命名示例:

color_primary_default_500     → 主色默认状态(#0066FF)
color_primary_hover_600       → 主色悬停状态(#0052CC)
color_primary_pressed_700     → 主色按下状态(#003D99)
color_primary_disabled_300    → 主色禁用状态(#99C2FF)

bg_primary_light              → 浅色模式主背景(#FFFFFF)
bg_primary_dark               → 深色模式主背景(#121212)

text_primary_light            → 浅色模式主文本(#1A1A1A)
text_primary_dark             → 深色模式主文本(#BDBDBD)

font_size_h1                  → H1标题字号(36px)
font_weight_bold              → 粗体(700)

space_2x                      → 标准间距(16px)
radius_button                 → 按钮圆角(8px)

shadow_card                   → 卡片阴影(0 2px 8px rgba(0,0,0,0.08))
time_transition_fast          → 快速过渡(150ms)
time_transition_normal        → 标准过渡(250ms)

3.6.2 Token层级架构

┌─────────────────────────────────────────────┐
│           第一层:Global Token                │  ← 品牌基础值
│  (品牌色板、基础字号、基础间距)              │
├─────────────────────────────────────────────┤
│           第二层:Alias Token                 │  ← 语义化映射
│  (语义命名:color_primary、text_primary)    │
├─────────────────────────────────────────────┤
│           第三层:Component Token             │  ← 组件级映射
│  (组件专用:button_primary_bg、               │
│            input_focus_border)               │
└─────────────────────────────────────────────┘

Token层级对应关系示例:

Global TokenAlias TokenComponent Token最终值
blue_500color_primarybutton_primary_bg#0066FF
blue_600color_primary_hoverbutton_primary_bg_hover#0052CC
gray_900text_primarybutton_primary_text#1A1A1A
space_2xspace_component_paddingbutton_padding_horizontal24px

3.7 明暗模式设计

3.7.1 日间模式设计策略

策略项规范说明
背景色纯白或浅灰(#FFFFFF ~ #F5F5F5)反射光线,在强光下更清晰
文字色深色(#1A1A1A ~ #333333)高对比度确保可读性
阴影使用适度使用浅阴影增强层级感
边框浅色细边框(#E0E0E0)区分模块但不突兀
对比度≥ 5:1应对强光直射场景

3.7.2 夜间模式设计策略

策略项规范说明
背景色深灰/纯黑(#121212 ~ #000000)减少屏幕发光对眼睛的刺激
文字色浅灰(#BDBDBD ~ #E0E0E0)避免纯白(#FFFFFF)在暗环境中刺眼。主文本对比度保持在5:1~7:1的舒适区间
阴影不使用/极弱暗背景下阴影效果不明显
边框深色边框(#333333)微妙区分模块
对比度5:1 - 7:1控制对比度在舒适区间,减少眩光效应和视觉疲劳
强调色明度适当降低明度避免强调色在暗环境中过于刺眼。夜间模式下强调色应适当降低明度,确保在深色背景上不产生眩光。建议按具体颜色进行逐一校准,而非统一百分比

3.7.3 模式切换规则

触发方式优先级说明
自动切换(光感)P0(默认)通过环境光传感器自动切换,推荐采用多级亮度策略:环境光 < 100 lux切换为夜间模式,100-200 lux为过渡区间平滑过渡
自动切换(时间)P1(辅助)根据日出日落时间自动切换,可用户自定义时间段
手动切换P2(覆盖)用户可在设置中手动选择模式,手动选择后自动切换失效
系统联动P1跟随车辆大灯状态:大灯开启 → 夜间模式,大灯关闭 → 日间模式

切换过渡动画:

  • 日间↔夜间模式颜色切换:推荐 1000-2000ms 慢速渐变(匹配人眼瞳孔适应时间)
  • 亮度调节:推荐 100-300ms 快速响应(基于环境光传感器)
  • 两者应分开处理,亮度调节快速响应,颜色切换缓慢过渡
  • 切换方式:颜色渐变过渡,避免闪烁
  • 过渡区间(50-200 lux)内平滑过渡亮度而非硬切换模式

3.8 车规视觉安全

3.8.1 强光可见性

场景要求设计策略
阳光直射(> 50,000 lux)所有元素清晰可见使用高对比度(≥7:1)、加粗字体、避免过浅的颜色
侧光干扰无反光/眩光使用圆角减少边缘反射。强光环境下应优先使用浅色/白色背景,依靠自动亮度调节应对眩光
黄昏/逆光自动调节亮度支持自动亮度调节,按屏幕等级标注:普通屏幕200-600 nits,高端屏幕600-1000 nits

亮度设计基准:标注1000 cd/m²(nits)仅高端车机可达,设计时请以实际屏幕参数为准。建议以最低目标亮度(如400 nits)作为强光场景验证基准。

3.8.2 夜间舒适性

场景要求设计策略
夜间行驶(暗环境)屏幕不刺眼使用深色模式、降低强调色饱和度、最低亮度 ≤ 2 cd/m²
明暗交替(隧道出入)平滑过渡亮度渐变过渡应足够平滑,建议过渡时间 ≥ 2秒(仅为辅助适应,不能替代人眼的自然适应过程)
长时间驾驶减少视觉疲劳避免大面积亮色区域、避免高饱和度纯色

3.8.3 无干扰设计

要求规范说明
动画限制避免闪烁频率 > 3Hz防止诱发光敏性癫痫
色彩饱和度避免使用高饱和度的警告色/强调色作为大面积背景过于鲜艳的颜色会分散注意力
动态内容驾驶中禁止播放视频/GIF仅在停车时允许
通知限制驾驶中非安全通知静默声音通知仅用于安全警告和导航

3.8.4 防眩光设计

要求规范说明
屏幕表面处理AG防眩光涂层硬件层面处理,设计需配合
界面反光区避免大面积垂直条纹偏光太阳镜偏振方向为垂直,会过滤垂直方向的亮度变化,导致垂直条纹消失或被大幅削弱
亮度自适应支持自动亮度调节设计时考虑亮度变化的极端情况
关键信息位置避免放置在屏幕边缘边缘区域因曲面可能产生反光