esp-ui 是一个基于 LVGL 的 UI 运行框架,旨在为不同尺寸和形状的屏幕提供一致的 UI 开发体验。该框架内置多种标准化系统 UI 和应用管理机制,允许用户灵活地修改样式、添加或删除应用 UI,从而显著提高 HMI 产品的开发效率,加快产品开发和上市进程。
主要特性包括:
- 采用 C++ 开发,可在
PC
或ESP SoCs
平台上编译,并支持VSCode
、ESP-IDF
、Arduino
开发环境。 - 提供丰富的标准化系统 UI,支持动态调整 UI 样式。
- 采用 app 的应用管理方式,实现多个 app 的 UI 隔离与共存,使用户专注于各自 app 内的 UI 实现。
- 应用 UI 兼容 "Squareline 导出代码" 的开发方式。
系统 UI 的功能演示如下:
esp-ui 的功能框图如下,主要由以下几个部分组成:
- System UI Core:实现了所有系统 UI 统一的核心逻辑,包括 app 管理、样式表管理、事件管理等。
- System UI Widgets:封装了系统 UI 的通用控件,包括状态栏、导航栏、手势等。
- System UIs:基于 "System UI Core" 和 "System UI Widgets" 实现了多种类型的系统 UI。
- Squareline:包含多个 "Squareline Studio" 导出的不同版本的 ui_helpers 文件,避免同时在多个 app 内使用的函数重名问题。
- Fonts:包含系统 UI 默认使用的字体。
请参阅文档 - 如何使用 。
当前,esp-ui 提供了以下系统 UI:
请参阅文档 - 系统 UI 控件 。