用途
该技能面向 Makepad 2.0 的控件(widget)使用,适用场景包括:为 Makepad 项目选择合适的控件、诊断控件属性的问题、处理列表虚拟化、对话框或自定义绘制。其资料针对 Splash/script_mod 风格的项目,并不假定适用于所有已发布版本或更旧的 Live DSL 项目。
主要能力
资料按类别列出内置控件及其关键属性:
容器(布局):View、SolidView、RoundedView、RoundedAllView、GradientXView、GradientYView、ScrollXView、ScrollYView、ScrollXYView。 文本:Label、H1–H4、P、TextInput、Markdown、Html、LinkLabel。 按钮:Button、ButtonFlat、ButtonFlatter。 开关:CheckBox、Toggle、RadioButton。 输入:Slider、DropDown。 媒体:Image、Svg、Icon、Vector、LoadingSpinner、MapView。 布局辅助:Hr、Vr、Filler、Splitter、FoldHeader。 列表:PortalList(虚拟化列表,适合 100+ 项)、FlatList(简单列表,渲染全部项)。 导航与弹层:Modal、Tooltip、PopupNotification、SlidePanel、ExpandablePanel、PageFlip、StackNavigation。 Dock 系统:Dock、DockSplitter、DockTabs、DockTab。
此外还列出了若干关键规则:容器应设置 height: Fit;带背景色且内含文本的容器应使用 new_batch: true;需要引用或覆盖的子节点使用 := 命名;Label 默认文字为白色,浅色背景需自行设置颜色;MapView 必须使用固定高度;Label 不支持 Animator,需要动画时应包裹在 View 中。还给出卡片、表单输入、可滚动列表等常见模式的代码片段。
使用方式
资料说明应先确认项目实际依赖的版本修订与 DSL,并在改动可正常工作的项目前核对对应的官方 Makepad 源码。回答问题前需阅读其本地参考文件 ./references/widget-catalog.md(控件完整列表及属性)与 ./references/widget-advanced.md(PortalList、Dock、自定义控件、MapView 等进阶模式),并将参考内容纳入回答。
适用场景
适用于在 Makepad 2.0 项目中选择控件、排查控件显示或布局问题、实现列表虚拟化、对话框、导航与 Dock 布局等 UI 构建工作。
限制与注意事项
资料明确指出:这些导入的 dev 分支笔记不构成稳定的 2.0 API 约定,也不是经过编译的示例集;代码片段仅为示意,省略了应用注册与事件绑定。数值输入与密码掩码只是呈现层控件,不构成校验、加密或授权。外部 Markdown/HTML、SVG、图片 URL 与地图瓦片应视为不可信资源,需限制允许的协议与主机、限制解码规模、遵守素材许可与署名要求,并在启用网络请求前核实隐私影响;不应记录文本输入内容。还应测试键盘导航、模态框的焦点捕获与返回、可读对比度与触摸行为。该技能为导入的上游技能,执行前应核实凭据、权限与安全边界,且不能替代特定环境的验证、测试或维护者审查。