# 玄铁声明式 UI 库

> 详细教程、控件参考与使用禁区请参阅:[12_UI库编程指南.md](../12_UI库编程指南.md)
>
> 基于渲染库的声明式界面框架:界面 = 状态的函数。引入方式:`引 "UI"`。

## 最小示例

```xuantie
引 "UI" 予 UI
引 "渲染" 予 R

设 状态 = UI.造状态({"计数": 0})

UI.应用(状态, 函(s) {
    返 UI.列([
        UI.文本("计数器演示", {"字号": 28}),
        UI.文本("当前: " & UI.态取(s, "计数"), {"字号": 20}),
        UI.按钮("点我 +1", {"点击": 函() {
            UI.态设(s, "计数", UI.态取(s, "计数") + 1)
        }})
    ], {"内边距": 20, "间距": 12})
}, {"宽": 640, "高": 420, "标题": "我的应用", "字体": "HarmonyOS_Sans_SC_Regular.ttf"})
```
![计时器演示图](https://xuantie-community.cn-nb1.rains3.com/img/202608/a866ae39ae1e58639f6fc3bd59ad3def.png)


## 核心 API 概览

| 类别 | 代表性 API |
|------|-----------|
| 框架 | `UI.应用(状态, 构建函, 选项)`、`UI.刷新(...)`(嵌入手动循环);完整用法见 [12 UI 库编程指南](../12_UI库编程指南.md) |
| 状态 | [`UI.造状态`](../UI/造状态.md)、[`UI.态取`](../UI/态取.md)、[`UI.态设`](../UI/态设.md)、[`UI.态观`](../UI/态观.md)、[`UI.态设批`](../UI/态设批.md)(各自独立详情页) |
| 容器 | `UI.列`、`UI.行`、`UI.叠`、`UI.弹性`、`UI.空白`、[`UI.滚动容器`](../12_UI库编程指南.md#滚动容器) |
| 控件 | [`UI.文本`](../12_UI库编程指南.md#文本)、[`UI.按钮`](../12_UI库编程指南.md#按钮)、`UI.矩形`、[`UI.输入栏`](../12_UI库编程指南.md#输入栏)(单行文本框:占位/光标/选区/IME 跟随/剪贴板);另见 [UI.多行编辑](../12_UI库编程指南.md#多行编辑) |
| 边距 | `UI.全边(v)`、`UI.四边(上,右,下,左)`(详见 [内边距](../UI/选项键/内边距.md)、[外边距](../UI/选项键/外边距.md)),选项中也可直接写裸数字 |
| 颜色 | `UI.色彩["主题" 等]`、`UI.色(r,g,b,a)`(相关选项键:[底色](../UI/选项键/底色.md)、[字色](../UI/选项键/字色.md)) |
| 字体 | `应用` 选项 `"字体"`/`"字库字号"`(自动加载卸载)、`UI.设字体`(须窗口初始化后);相关选项键:[字号](../UI/选项键/字号.md)、[字距](../UI/选项键/字距.md) |