WouoUI/README.md
2023-05-09 23:06:48 +08:00

53 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WouoUI
模仿稚晖君MonoUI风格的超丝滑菜单使用EC11旋转编码器控制。
有四个版本,适配三种固定分辨率的屏幕,以及一种仅保留列表和弹窗相关代码,支持任意行高,任意字高,任意屏幕分辨率的通用版本。
* 128_128版本基本上复刻了UltraLink的界面。
* 128_64版本在128_128版本的基础上重新设计主界面和电压测量界面适配了列表关于本机界面改为列表类。
* 128_32版本在128_64版本的基础上重新设计主界面和电压测量界面。
* 通用版本:仅保留列表类和弹窗代码,主菜单改为列表类。注意,所有版本的列表类代码都相同,适配了屏幕高度与行高度不能整除的情况,只需要简单定义好参数,使用与参数匹配的字体和屏幕即可适配所有情况,自带一套超窄行高度的参数用于测试。
# 功能
* 全部使用非线性的平滑缓动动画,包括列表,弹窗,甚至进度条
* 优化平滑动画算法到只有两行,分类别定义平滑权重,并且每个权重值都分别可调
* 可以打断的非线性动画,当前动画未结束但下一次动画已经被触发时,动画可以自然过渡
* 非通用版本分别适配了类似 UltraLink 主菜单的磁贴界面(因为让我想起 WP7 的 Metron 风格,所以称之为磁贴)
* 通用版本仅保留列表类界面,经过简单修改可以适配所有分辨率的屏幕,包括屏幕内行数不是整数的情况
* 列表菜单,列表可以无限延长
* 列表文字选择框,选择框可根据选择的字符串长度自动伸缩,进入菜单时从列表开头从长度 0 展开,转到上一级列表时,长度和纵坐标平滑移动到上一级选择的位置
* 列表单选框,储存数据时也储存该值在列表中所在的位置,展开列表时根据每行开头的字符判断是否绘制外框,再根据位置数据判断是否绘制里面的点
* 列表多选框储存数据的数组跟多选框列表的行数对应不要求连续排列展开列表时根据每行开头的字符判断是否绘制外框再根据行数对应的储存数据位置的数值是否为1判断是否绘制里面的点
* 列表显示数值,与多选框原理相似,但不涉及修改操作
* 列表展开动画,初始化列表时,可以选择列表从头开始展开,或者从上次选中的位置展开
* 图标展开动画,初始化磁贴类界面时,可以选择图标从头开始展开,或者从上次选中的位置展开
* 弹出窗口,实现了窗口弹出的动画效果,可以自定义最大值,最小值,步进值,需要修改的参数等,窗口独立运行,调用非常简单
* 弹出窗口背景虚化可选项,背景虚化会产生卡顿感,但删掉代码有些可惜,因此做成可选项,默认关闭
* 亮度调节,在弹出窗口中调节亮度值可以实时改变当前亮度值
* 旋钮功能使用EC11旋钮控制旋钮方向可以软件调整内置一个USB控制电脑的示例在睡眠模式下旋转调整音量或者亮度短按输入一个键值长按进入主菜单旋钮消抖时长等参数可以在弹出窗口中调整
* 循环模式,选择项超过头尾时,选择项跳转到另一侧继续,列表和磁贴类可以分别选择
* 黑暗模式,其实本来就是黑暗模式,是增加了白天模式,默认开启黑暗模式
* 消失动画适配两种模式,一种是渐变成全黑,另一种渐变成全白
* 断电存储用简单直观的方式将每种功能参数写入EEPROM只在修改过参数进入睡眠模式时写入避免重复擦写初始化时检查11个标志位允许一位误码
# 效果
* 128_128版本
![image](https://github.com/RQNG/WouoUI/assets/115459678/0da977bc-5a8f-42f3-bbcc-3ce90da6027b)
演示视频https://www.bilibili.com/video/BV1Ao4y147La
* 128_64版本
![image](https://github.com/RQNG/WouoUI/assets/115459678/65437f96-5c1b-46bd-a198-558a0de811e3)
演示视频https://www.bilibili.com/video/BV1CL41187da/
* 128_32版本
![image](https://github.com/RQNG/WouoUI/assets/115459678/77ce9c6b-2dcd-4bb9-8d59-f6beeb959015)
演示视频https://www.bilibili.com/video/BV1Ss4y1D72s/
* 通用版本:
![image](https://github.com/RQNG/WouoUI/assets/115459678/0fae540a-bc7e-43e0-8936-60f22ae3733f)
演示视频https://www.bilibili.com/video/BV1wo4y1474K/
# 参考
* 旋钮https://zhuanlan.zhihu.com/p/453130384
* B站路徍要什么自行车在线仿真https://wokwi.com/projects/350306511434547796https://www.bilibili.com/video/BV1HA411S7pv/
* GithubcreateskyblueOpenT12https://github.com/createskyblue/OpenT12
* Githubpeng-zhihuiOpenHeathttps://github.com/peng-zhihui/OpenHeat