镜像地址:https://gitcode.com/gh_mirrors/wo/WouoUI-PageVersion

开源脚本:https://gitee.com/ye-qingyun/wouo-ui-open-source-version

1、项目介绍

WouoUI 是一款以 EC11 旋转编码器为基础的超流畅菜单系统,其设计灵感源自稚晖君的 MonoUI 和现代操作系统元素。它提供了四种主要版本,适应不同屏幕尺寸,并包含了两个实验版本,以满足各种个性化需求。这个开源项目不仅提供了美观的操作界面,还注重用户体验,通过精心设计的动画效果,带来前所未有的丝滑感受。

2、项目技术分析

WouoUI 的核心在于它的非线性平滑缓动动画,使得每一步操作都如丝般顺滑。无论是列表、弹窗还是进度条,都有经过优化的动画算法保证平滑过渡。此外,项目提供对不同分辨率的支持,特别优化了磁贴界面和电压测量界面,确保在各种设备上都能完美运行。列表类界面的通用性使其能够轻松适应任何屏幕尺寸,即使行数不是整数也能无缝适配。

3、项目及技术应用场景

WouoUI 可广泛应用于嵌入式设备,如智能家居控制器、音频播放设备、DIY电子项目等,通过旋转编码器实现直观的交互。其独特的磁贴界面和列表样式可以用于主菜单设计,而列表类则适合于展示大量信息,比如设备状态、选项列表等。此外,实验版本如 osu 和 wave 分支,适用于追求独特视觉效果的创新应用。

4、项目特点

  • 极致动画:每一处细节都采用了非线性平滑动画,无论是在列表切换还是窗口弹出时,都能感受到无比流畅的动态效果。
  • 灵活性:WouoUI 设计了多种版本,兼容不同分辨率的屏幕,并允许用户自定义行高、字高等参数。
  • 强大功能:支持亮度调节、循环模式、黑暗模式,还有断电存储功能,确保设置持久有效。
  • 社区支持:第三方项目和模板共享,鼓励开发者们将 WouoUI 应用到更多场景。

WouoUI-PageVersion 开源项目使用教程

1. 项目介绍

WouoUI-PageVersion 是一个基于 WouoUI 1.2 版本的纯 C 语言代码框架,专为 128*64 OLED 屏幕设计。该项目去除了所有依赖库,通过抽象出统一的接口,方便用户快速构建具有类似 WouoUI 风格的 OLED UI。WouoUI-PageVersion 主要特点包括:

  • 纯 C 语言实现:无依赖库,适用于资源有限的嵌入式系统。
  • 适用于 128*64 OLED 屏幕:专门优化,确保最佳显示效果。
  • 抽象接口:提供统一的接口,简化 UI 开发流程。

2. 项目快速启动

2.1 环境准备

确保你已经安装了以下工具:

  • Git
  • 支持 C 语言的开发环境(如 GCC、Keil 等)

2.2 克隆项目

首先,克隆 WouoUI-PageVersion 项目到本地:

1
git clone https://github.com/Sheep118/WouoUI-PageVersion.git

2.3 编译项目

进入项目目录并编译代码:

1
2
3
cd WouoUI-PageVersion

make

2.4 运行示例

项目中包含多个示例,你可以根据需要选择并运行。例如,运行 LittleClock 示例:

3. 应用案例和最佳实践

3.1 应用案例

WouoUI-PageVersion 适用于需要在小尺寸 OLED 屏幕上显示复杂 UI 的嵌入式项目。例如:

  • 智能手表:显示时间、通知和健康数据。
  • 工业控制面板:显示设备状态和操作界面。
  • 智能家居控制器:控制家庭设备的开关和状态。

3.2 最佳实践

  • 优化内存使用:由于项目针对资源有限的嵌入式系统,建议在开发过程中严格控制内存使用,避免不必要的内存分配。
  • 模块化设计:利用项目提供的抽象接口,将 UI 功能模块化,便于维护和扩展。
  • 测试驱动开发:在开发过程中,使用模拟器或实际硬件进行测试,确保 UI 在不同环境下都能正常工作。

4. 典型生态项目

WouoUI-PageVersion 可以与其他开源项目结合使用,构建更复杂的嵌入式系统。以下是一些典型的生态项目:

  • U8g2:一个广泛使用的单色显示屏库,可以与 WouoUI-PageVersion 结合使用,提供更丰富的图形功能。
  • Arduino:虽然 WouoUI-PageVersion 是纯 C 语言实现,但可以与 Arduino 平台结合,利用其丰富的硬件支持和社区资源。
  • FreeRTOS:一个流行的实时操作系统,可以与 WouoUI-PageVersion 结合,实现多任务处理和更复杂的系统控制。

相关链接(侵删)

  1. WouoUI-PageVersion 一个用于快速构建具有丝滑OLED_UI动画的项目
  2. 移植wouoUI到stm32 freertos上遇到的bug

=================我是分割线=================

欢迎到公众号来唠嗑: