MIUI Advanced Markup Language

以声明式语言构建未来交互

MAML 以 XML 为底层语法,融合动画、数据绑定与逻辑计算能力,帮助设计师与开发者在 MIUI 生态中快速落地跨终端、跨主题的沉浸式体验。

3200+ 活跃主题/小部件
120+ 内置动画模板
8 大 典型场景覆盖
Workflow

可视化布局

声明组件、样式、状态,让界面结构与数据一一映射。

动画与表达式

使用 StateMachine 与表达式语言驱动动态视觉效果。

跨终端分发

统一项目同时覆盖锁屏、超级壁纸、Minus Screen、AOD 与桌面小组件。

RESOURCES

官方文档 + 团队内部最佳实践

以下资源帮助你从语法学习到实际发布一站式掌握 MAML。

DOWNLOADS

工具 & 物料包下载

所有文件托管于本地服务器,可安全快速获取。

GlobalMinusScreen.apk

Minus Screen 插件安装包

下载 →
MAML快速上手.docx

官方基础培训文档

下载 →
MiSansLatin-Bold.otf

MiSans Latin 粗体字库

下载 →
MiSansLatin-Regular.otf

MiSans Latin 常规字库

下载 →
MiSans_Latin 英文字库.zip

完整英文版字体包

下载 →
Weixin Image_20251125163301_393_500.png

组件展示示例

下载 →
WidgetEditor_arm64_0.1.0.zip

Widget Editor 编辑器

下载 →
mtz包的安装与测试.docx

MTZ 包安装测试指南

下载 →
小米海外MAML小部件制作规范.pdf

海外发行标准

下载 →
抢票提醒.zip

示例工程源代码

下载 →
海外小部件上架说明.pdf

上架流程/稽核要求

下载 →
xiaomi_maml_launcher.apk

Maml Lanucher/Maml启动器

下载 →
内存测试工具MAC版

Maml内存测试工具

下载 →

CORE FEATURES

面向设计与工程协作的能力矩阵

通过组件化语法、实时调试与数据驱动渲染,让创意从视觉稿快速演进为可交付体验。

声明式语法

类似 XML 的层级结构,可读易维护,与 Sketch/Figma 的导出工具天然互通。

多维动画

内置时间线、插值、粒子系统,匹配 MIUI 14/HyperOS 的微动效语言。

数据绑定

支持系统数据、设备传感器与在线接口,助力实时信息控件。

调试可视化

Widget Editor 与 ADB 实时联调,精准定位动画帧与表达式输出。

跨场景继承

统一项目可切换至锁屏、桌面、AOD 等多种容器,复用 90% 代码。

工程级发布

提供 MTZ/组件包校验、灰度发布、异常统计,保障体验稳定上线。

SCENARIOS

从息屏到 Minus Screen 的统一体验

依托 HyperOS 能力,MAML 小部件可一次创作、多端交付,并通过表达式差异化不同机型与主题。

AOD / 息屏显示:低功耗渲染 + 传感器联动构建呼吸式通知。

桌面小部件:自由网格与多尺寸适配,支持深色/浅色方案切换。

超级壁纸 & Minus Screen:结合设备姿态、天气、时间线实现剧情式视觉。

粒子动态 脚本表达式 数据订阅 国际化 可访问性

智能信息流

调取日历、提醒、健康、出行等系统数据,自动生成可滑动信息板。

沉浸动效

依托 Animation 与延时曲线,打造前景光效、星轨、天气反射等视觉语言。

可配置方案

通过资源分层、表达式参数化,设计团队可一键生成多语言、多品牌主题。

SNIPPET

十行代码描述一个动态图表

表达式与状态机的组合令复杂动画清晰可控,以下示例演示天气卡片如何响应数据与手势。

<Widget id="WeatherWidget" width="320" height="280">
  <Params>
    <Param name="temperature" type="int" default="26" />
    <Param name="condition" type="string" default="Sunny" />
  </Params>
  <StateMachine name="Sky" attr="opacity" from="0" to="1" duration="500" easing="easeOut"/>
  <Image src="@drawable/bg_sky" bind:alpha="Sky"/>
  <Text text="@{temperature}°" bind:y="30 + sin(time/800)*6" style="Headline"/>
  <Text text="@{condition}" style="Caption"/ >
</Widget>

Params 接入在线/本地数据,实现实时刷新。

StateMachine 统一管理动画曲线。

• 表达式 sin(time/800) 打造轻盈动态。

PLAYBOOK

四步打造旗舰级 MAML 产品

STEP 01

需求与视觉定义

明确场景、动态语言、数据来源,并准备多尺寸视觉稿。

STEP 02

组件建模

在 Widget Editor 中搭建结构,完成数据绑定与表达式校验。

STEP 03

联调与性能

ADB 连接设备,检查帧率、内存、功耗并优化动效区间。

STEP 04

发布与监控

打包 MTZ/组件包,完成内测、灰度与线上数据监控。

FAQ

常见问题

如何快速学习 MAML?

步骤:阅读官方语法 → 观看主题编辑器培训 → 复刻示例工程 → 将真实数据接入组件。

需要哪些工具?

核心工具包括 Widget Editor、App Vault、ADB、真机调试器以及设计稿导出插件。

如何做好多语言/深浅色适配?

借助 @string 资源包与 DarkMode 属性,配合表达式切换图层、色值与排版。

动画是否影响性能?

建议将复杂动效放入延时线程、限制粒子数量,并监控内存占用,确保 60fps 体验。