用途
Makepad Layout 是一个面向 Makepad 布局系统的技能,用于帮助用户编写 Makepad 布局代码、解答布局相关问题,并解释布局概念、尺寸计算与流方向。它基于 makepad-widgets(dev 分支)整理,最后更新时间为 2026-01-19。
主要能力
该技能围绕 Makepad 布局系统提供以下支持:
- 编写代码:按照技能中给出的模式生成布局代码。
- 回答问题:解释布局概念、尺寸(sizing)与流方向(flow directions)。
- 文档参考:指向本地参考文件,包括
./references/layout-system.md(完整布局参考)和./references/core-types.md(Walk、Align、Margin、Padding 类型)。
技能中列出的关键布局模式包括:
- 基础布局容器:使用
<View>配合width: Fill、height: Fill、flow: Down、padding: 16.0、spacing: 8.0,内部放置<Label>子元素。 - 内容居中:在
<View>上设置align: { x: 0.5, y: 0.5 }。 - 水平行布局:使用
flow: Right、spacing: 10.0、align: { y: 0.5 },并用空<View> { width: Fill }作为间隔。 - 固定加弹性布局:外层
flow: Down,固定头部使用height: 60.0,弹性内容使用height: Fill占据剩余空间。
布局属性
技能中列出的属性包括:
width(Size):元素宽度height(Size):元素高度padding(Padding):内边距margin(Margin):外边距flow(Flow):子元素布局方向spacing(f64):子元素之间的间距align(Align):子元素对齐方式clip_x(bool):裁剪水平溢出clip_y(bool):裁剪垂直溢出
尺寸取值包括:Fit(适应内容大小)、Fill(填充可用空间)、100.0(固定像素尺寸)、Fixed(100.0)(显式固定尺寸)。
流方向取值包括:Down(从上到下,列)、Right(从左到右,行)、Overlay(堆叠在上层)。
对齐取值以坐标表示,例如 { x: 0.0, y: 0.0 } 为左上、{ x: 0.5, y: 0.5 } 为居中、{ x: 1.0, y: 1.0 } 为右下等九种位置。
使用方式
技能说明中要求:在回答布局问题前,应先阅读上述相关参考文件;如果文件读取失败或为空,应告知用户“本地文档不完整,建议运行 /sync-crate-skills makepad --force 更新文档”,并仍基于 SKILL.md 中的模式与内置知识作答;如果参考文件存在,则将其内容纳入回答。
编写代码时的建议包括:弹性容器使用 Fill,内容自适应元素使用 Fit;垂直布局设置 flow: Down,水平布局设置 flow: Right;在行布局中用空 <View> { width: Fill } 作为间隔;固定尺寸元素始终设置明确尺寸;使用 align 在容器内定位子元素。
回答问题时需注意:Makepad 使用“turtle”布局模型,元素按顺序排列;Fill 占据所有可用空间,Fit 收缩到内容大小;与 CSS flexbox 不同,没有 flex-grow/shrink,而是使用 Fill/Fit;对齐作用于子元素,而非元素自身。
适用场景
适用于使用 Makepad 构建界面时的布局编写、布局概念解释、尺寸与流方向问题解答,以及需要参考 Makepad 布局属性、尺寸取值、流方向和对齐取值的开发场景。
限制
技能资料未提供关于收费、价格、平台支持范围、性能效果或具体安装步骤的信息,这些内容暂未提供。