当前位置: 首页 > news >正文

UI创作思想总结

1.用户数据调整选项:

两种模式如下:

// User Data Adjustment Option
typedef enum{USRADJ_LIMIT = 0,	// Limit ControlUSRADJ_LOOP  = 1,	// Loop Control
} EUsrAdjOption;

枚举成员含义
USRADJ_LIMIT = 0
含义:“限制控制” 或 “边界控制”。
功能:当用户调整数据(如数值、参数等)时,若调整到预设的上限或下限,将无法继续超出边界。
例如:假设某参数范围是 0~100,当用户调至 100 后,继续增加的操作会被限制,保持在 100;调至 0 后,继续减小的操作也会被限制。
USRADJ_LOOP = 1
含义:“循环控制” 或 “环绕控制”。
功能:当用户调整数据到达边界时,继续操作会从另一端循环。
例如:同样参数范围 0~100,当调至 100 后继续增加,会循环到 0;调至 0 后继续减小,会循环到 100(类似环形计数器的逻辑)。

应用场景
该枚举通常用于配置用户交互中的数据调整逻辑,比如:
车载系统中调节音量、亮度时的边界处理;
工业设备中设定参数(如温度、速度)时的输入限制;
嵌入式 UI 中通过按键增减数值时的行为模式切换。
设置List,选中项是循环表示还是屏蔽事件无反应

2.用户数据类型:

两种类型如下:

typedef enum{IDTYPE_NUMERICAL = 0,	///^ 数値型IDTYPE_SPECIAL   = 1,	///^ 特殊型
} EUsrDtIdType;

一、数值型用户数据(可直接用数字表示,支持算术运算)
这类数据本质是整数或浮点数,常用于表示 “可量化的参数”,支持增减、比较等操作。
音量(Volume)
典型范围:0~100(整数)或 0.0~1.0(浮点,代表百分比)。
用途:直接参与运算(如 “音量 + 5”“音量减半”)。
亮度(Brightness)
例如:显示屏亮度 0~255(整数,对应 PWM 占空比)。
温度设定(Temperature Setpoint)
例如:空调目标温度 16~30℃(整数或带 1 位小数的浮点)。
时间 / 日期相关
例如:定时开关机的小时(0~23)、分钟(0~59),以整数存储。
频道号(Channel Number)
例如:电视的物理频道号 1~999(整数)。
倒计时时长
例如:微波炉加热时间 0~600 秒(整数)。
二、特殊型用户数据(非纯数值,需特定格式或编码)
这类数据无法用单一数字表示,可能是字符串、枚举、结构体或加密数据,需按特定规则解析。
用户账号 / ID(User Account)
例如:“user123”“U87654321”(字符串,含字母、数字、符号),不支持算术运算。
密码(Password)
例如:“Abc@123”(混合字符,通常加密存储,需按字符串比对)。
设备名称(Device Name)
例如:“客厅电视”“卧室空调”(中文 / 英文字符串,用于标识)。
日期格式(Date Format)
例如:“YYYY-MM-DD”“MM/DD/YYYY”(枚举或字符串,代表显示规则,非数值)。
语言选择(Language)
例如:“zh-CN”“en-US”(语言代码字符串)或枚举值(LANG_CHINESE=0, LANG_ENGLISH=1)。
MAC 地址 / IP 地址
例如:“AA:BB:CC:DD:EE:FF”(MAC 地址,字符串格式)、“192.168.1.1”(IP 地址,需按点分十进制解析)。
自定义配置结构体
例如:用户偏好设置(包含音量、亮度、语言等多种类型的复合数据,需按结构体格式读写)。
加密数据(Encrypted Data)
例如:支付信息、证书密钥(二进制流或 Base64 编码字符串,无法直接作为数值处理)。
核心区别
数值型:本质是数字,可直接参与运算(+、-、比较等),存储和解析简单(直接用int/float)。
特殊型:依赖特定格式或编码,需按规则转换(如字符串解析、枚举映射),不支持常规算术运算。

http://www.dtcms.com/a/596512.html

相关文章:

  • 4、Python3.11新特性
  • Java-Spring入门指南(二十九)Android交互核心:按钮点击事件与Activity跳转实战
  • 云手机的两大核心技术
  • Postman VS swagger VS PostIn,接口管理工具选型指南
  • 【大数据技术05】数据加工
  • es 书籍检索-上篇
  • Electron 智能文件分析器开发实战适配鸿蒙
  • 鸿蒙文件操作
  • 手工做环保衣的网站湖北省工程建设信息官方网站
  • ShellCrash 安装与配置踩坑与解决日志
  • redis 的面试点总结
  • DS1302 简单介绍
  • JS DOM 操作与性能优化实战指南:构建高效可交互的页面结构
  • 【Java】基于策略模式 + 工厂模式多设计模式下:重构租房系统核心之城市房源列表缓存与高性能筛选
  • 学校门户网站作用收录查询工具
  • 如何在资源不足时快速补救项目延误
  • C++多线程之线程管控
  • 企业BI项目建设--如何梳理企业的指标体系
  • Linux 虚拟文件系统(VFS)深度解析
  • 系统思考:aAI产业链的啤酒游戏
  • 天文知识--北斗七星
  • 网站建设后需要交费吗网络营销专业培训机构
  • vue3获取循环中的ref
  • 11.11 脚本网页 跳棋
  • uni-app:实现快递的节点功能
  • 使用虚拟机搭建简易K8s实验环境的一种方法
  • 构建下一代临床AI诊断系统:基于CPC-Bench基准的工程化路线图(上)
  • Electron 原理浅析
  • Git 命令全攻略:从入门到实战
  • React底层原理