生态桌面应用

布局

使用约束、行、列、堆叠、网格、滚动与分割布局组织控件。

言界先沿控件树向下传递最小/最大约束并测量,再向上确定首选尺寸,最后分配逻辑像素矩形。每个控件都可设置尺寸、最小尺寸、最大尺寸、外边距和伸展;容器还接受内边距、间距、主对齐和交对齐。

定 主列 为 窗口.列({「内边距」:24,「间距」:14});
主列.文字(「资料」);

定 表单 为 主列.网格({「列数」:2,「间距」:10,「伸展」:1});
表单.文字(「姓名」);
表单.输入框({「占位」:「请输入姓名」});

定 操作 为 主列.行({「间距」:8,「主对齐」:「终」});
操作.按钮(「取消」);
操作.按钮(「保存」);
容器用途
行水平方向依次排列子控件
列垂直方向依次排列子控件
堆叠在同一区域叠放子控件
网格按固定列数排列单元
滚动对超出视口的子树提供滚轮与偏移
分割面板两个可调整比例的面板
定 分割 为 主列.分割面板({「方向」:「横向」,「比例」:0.3,「伸展」:1});
分割.列({「内边距」:10}).文字(「左侧」);
分割.列({「内边距」:10}).文字(「右侧」);

属性改变只标记相关布局分支和旧/新绘制矩形为脏区。下一帧不会无条件重建整棵控件树。