Lua 应用开发

Lua 应用开发

Vela 上的 Lua 5.4 运行时、LVGL UI 控件与 Vela 能力模块

Vela 的 Lua 运行时基于 Lua 5.4(NuttX 12.3.0 / Xiaomi Vela 环境),通过 LVGL 提供 UI 能力,并以模块化方式暴露设备能力(dataman 数据订阅、topic 消息、animengine 动画、vibrator 振动、navigator 导航等)。典型用途是手表表盘与轻量 Lua 应用。

本分类为融合文档:以 Vela 官方 Lua 文档(docs-lua)为骨架(全部 API / 表格 / 示例完整保留),织入洛汐文档库(https://docs.luoxe.cn/ )的实战内容,社区补充以「社区补充」小节标注。

目录

入门

  • 概览 — 设备环境、模块生态、表盘场景、运行环境限制、最小表盘示例
  • 快速开始 — 第一个 Lua 应用、三步上手表盘
  • 文档约定 — API 命名与使用约定、可用性标识

LVGL(UI 控件与模块)

  • LVGL 概览与图形绑定 — 控件体系 + Lua LVGL 绑定机制
  • 控件:object 基础对象、label 文本、list 列表、roller 滚轮、image 图片、imagebar、imagelabel、imagelinebar、analogtime 指针时钟、curvedlabel 弧形文本、calendar 日历、checkbox、dropdown、keyboard、led、pointer、textarea、thumbnail
  • 模块:disp 显示、fs 文件、group 输入组、indev 输入设备
  • 枚举:align、dir、event、flag、flex_align、flex_flow、grid_align、key、keyboard_mode、label、part、roller_mode、scr_load_anim、scrollbar_mode、state
  • 全局函数与常量:函数总览、Anim、Font、Style、Timer、HOR_RES、VER_RES、OPA、PCT、内置字体、常量

Lua 标准库

Vela 能力模块

模块能力
activity页面状态管理(isShown)
animengine属性动画引擎(x/y/rotate/opacity/scale)
dataman数据订阅(subscribe/pause/resume)
navigator页面导航(finish)
screen屏幕控制
topic消息订阅(subscribe → unsubscribe/frequency)
vibrator触觉反馈(start/cancel + 15 种模式)

实战

参考来源

  • Vela 官方 Lua 应用文档(docs-lua,Lua 5.4 / Vela 手表模拟器验证)
  • 洛汐文档库 https://docs.luoxe.cn/ (社区实战资料)

大纲