anyuianyui
首页
快速开始
文档
下载
  • English
  • 简体中文
首页
快速开始
文档
下载
  • English
  • 简体中文
  • 安装

    • 安装
  • 核心概念

    • 介绍
    • 设计
    • 隐藏和锁定
    • 资源管理
  • 高阶组件

    • 状态按钮
    • 标签滑块
    • 数值滑块
    • 复选框组和单选框组
    • 状态栏
    • 导航栏
    • 抽屉
  • 高级功能

    • 使用外部图像文件作为源
    • GIF动画图像
    • 模板组件
    • 全局组件
    • 屏幕管理
    • 通信命令和事件
    • Lottie动画
  • 开发

    • 构建模式
    • 构建工具链配置
    • 代码移植
  • 技术支持

    • 常见问题

概要

要将您的anyui项目移植到目标设备:

  • 将generated代码复制到您的项目并调用setupUI()初始化UI
  • 根据需要将SDK代码复制到您的项目
  • 根据需要将虚拟实现替换为设备特定代码

概述

虽然anyui主要专注于UI设计,但生成的UI代码应保持独立于底层硬件和开发工具(如Keil)。

此外,anyui提供了一个SDK,可用于屏幕管理和硬件通信的扩展。

移植过程

UI代码

所有UI代码都在{root}/generated目录中生成,包括屏幕实现和转换的资产(图像、字体、Lottie)。

此代码是自动生成的,不应手动修改。

SDK

SDK实现在{root}/sdk目录中,为屏幕管理和硬件通信提供实用程序。

SDK可以扩展以满足特定需求。

注意

SDK代码可能在未来的版本中更新以提供更多功能。任何自定义修改在更新期间都需要解决冲突。

虚拟代码

虚拟实现在{root}/simulator/dummy.c中,提供必须替换为设备特定实现的占位符功能。

虚拟代码包括:

  • 处理来自UI的通信命令的处理程序
  • 用于外部存储的文件系统驱动实现(当使用外部图像文件作为源时)
  • 用于时间和电池状态更新的定时器实现(仅用于演示目的;根据需要替换为实际实现或删除)

lv_conf.h

维护设备特定的lv_conf.h文件副本,至少包含以下配置:

/*
 * 必需的配置
*/
#define LV_HOR_RES_MAX (?) // 水平分辨率
#define LV_VER_RES_MAX (?) // 垂直分辨率
#define LV_COLOR_DEPTH 16
/*'lv_mem_alloc()'可用的内存大小(>= 2kB),以字节为单位*/
#define LV_MEM_SIZE (?) // 内存大小(字节)

/*
 * 根据需要的可选配置
 */
#define LV_USE_LOG 1 // 启用日志

#define LV_USE_FS_STDIO 1 // 启用文件系统
#define LV_USE_PNG 1 // 启用PNG解码器
#define LV_USE_JPEG 1 // 启用JPEG解码器
#define LV_USE_BMP 1 // 启用BMP解码器
#define LV_USE_GIF 1 // 启用GIF解码器

#define LV_USE_BTN 1 // 启用按钮
#define LV_USE_IMG 1 // 启用图像
#define LV_USE_LABEL 1 // 启用标签
// 根据需要的其他组件

/*
 * 设备特定的排除
 */;
//#define USE_SIMULATOR
Prev
构建工具链配置