anyuianyui
anyui-LIVE
anyui
反馈问题
  • English
  • 中文
anyui-LIVE
anyui
反馈问题
  • English
  • 中文
  • 介绍

    • 介绍
  • 快速开始

    • 快速开始
  • 工作区

    • 工作区
  • 编辑器

    • 概览
    • 工具栏
    • 导航器
    • 检查器
    • 状态栏
    • 设置
    • 画布
    • 预览
    • 资源管理
    • 代码查看器
    • 历史
  • 智能体
  • 桌面版
  • 主题

    • 图片
    • 字体库
    • 布局
    • 符号
    • 全局样式
    • 动态 LVGL 版本
    • 动态显示尺寸变更
    • 重置屏幕尺寸
    • 代码生成
    • 移植
    • 模拟器
    • 国际化
  • 常见问题

移植把 anyui-LIVE 生成的输出迁移到目标设备,或集成到现有项目中。本指南介绍迁移步骤与系统集成方式。

概述

anyui-LIVE 专注于 UI 设计,生成的 UI 代码不绑定特定硬件和开发工具(如 Keil),可迁移到任何满足 LVGL 要求的目标设备。

待移植的输出内容见代码生成指南,其依赖的图片与字体资源见图片指南与字体库指南。

移植流程

UI 代码

所有 UI 代码都生成在 generated/ 目录中,包括界面实现和转换后的资源(图片、字体);导出根目录还会带上 Makefile、lv_conf.h 等项目文件。移植时:

  1. 将 generated/ 代码复制到你的项目中。
  2. 调用 setup_ui() 初始化界面。
  3. 针对目标工具链编译项目。

此代码由工具自动生成,请勿手动修改。

lv_conf.h

为设备固件单独维护一份 lv_conf.h,至少完成以下配置:

以下三项必须配置:

  1. LV_HOR_RES_MAX 和 LV_VER_RES_MAX - 显示分辨率
  2. LV_COLOR_DEPTH - 色深
  3. LV_MEM_SIZE - 内存大小(字节)

配置分辨率

  • LVGL 8.x 版本:在 lv_conf.h 中配置分辨率
#define LV_HOR_RES_MAX (?) // 水平分辨率
#define LV_VER_RES_MAX (?) // 垂直分辨率
  • LVGL 9.x 版本:在 hal_init(w, h) 中配置分辨率
hal_init(720, 480); // 配置显示分辨率为 720×480

在 lv_conf.h 中配置色深与内存大小

/** 必需配置 */
#define LV_COLOR_DEPTH 32 // 色深

/* 可用于 lv_mem_alloc() 的内存大小,单位字节 */
#define LV_MEM_SIZE (32 * 1024) // 内存大小 32KB,根据需要调整

在 lv_conf.h 中配置可选项

/** LVGL 组件 */
#define LV_USE_BTN 1 // 启用按钮
#define LV_USE_IMG 1 // 启用图片
#define LV_USE_LABEL 1 // 启用标签
// 按需添加其他组件

/** 按需的可选配置 */
/** LVGL 内置字体 */
#define LV_FONT_MONTSERRAT_8 1 // 1:启用 Montserrat 8px 字体;0:不启用
// 其他 MONTSERRAT 字体大小 ...
#define LV_FONT_MONTSERRAT_48 1 // 1:启用 Montserrat 48px 字体;0:不启用

与外部系统集成

生成代码可集成到现有嵌入式项目中:

  • 应用入口 - 初始化 LVGL(调用 lv_init() 和 hal_init())后,再调用 setup_ui()。

相关指南

  • 字体库 - 随移植一起使用的字体资源。
  • 工作区 - 项目与导出文件夹的配置位置。
  • 概览 - 要移植的界面。
  • 代码生成 - 生成的输出与入口。
Prev
代码生成
Next
模拟器