Makepad Widgets 是一个面向 Makepad 框架 UI 组件的技能,版本为 makepad-widgets(dev 分支),最后更新于 2026-01-19。它帮助用户编写 Makepad 小部件代码、解答组件属性、变体与用法问题。
用途 该技能定位为 Makepad 小部件专家,主要服务于两类任务:一是按既定模式生成小部件代码;二是解释小部件属性、变体及使用方式。
主要能力 技能内置了核心小部件的代码模式,包括 View(基础容器)、Button、Label、Image、TextInput 等,并列出各控件的关键属性。例如 View 支持 flow、align、show_bg、draw_bg、optimize;Button 支持 text、draw_bg、draw_text、draw_icon;Image 支持 source、fit;TextInput 支持 text、draw_text、draw_cursor、draw_selection。
技能还整理了 View 的多种变体,如 SolidView、RoundedView、RoundedAllView、RectView、CircleView、GradientXView、GradientYView、RoundedShadowView、ScrollXView、ScrollYView、ScrollXYView、CachedView;Button 变体包括 ButtonFlat、ButtonFlatIcon、ButtonFlatter、ButtonGradientX、ButtonGradientY、ButtonIcon;ImageFit 取值包括 Stretch、Contain、Cover、Fill。
内置小部件按类别覆盖:基础类(View、Label、Button、Icon、Image)、输入类(TextInput、CheckBox、RadioButton、Slider、DropDown、ColorPicker)、容器类(ScrollBars、PortalList、FlatList、StackNavigation、Dock、Splitter)、导航类(TabBar、Tab、FoldHeader、FoldButton、ExpandablePanel)、浮层类(Modal、Tooltip、PopupMenu、PopupNotification)、媒体类(Video、RotatedImage、ImageBlend、MultiImage)、布局类(AdaptiveView、SlidePanel、PageFlip、SlidesView)、特殊类(Markdown、Html、TextFlow、WebView、KeyboardView)、工具类(LoadingSpinner、DesktopButton、LinkLabel、ScrollShadow),共 84 个文件。
使用方式 技能提供本地参考文档:./references/widgets-core.md(核心小部件)、./references/widgets-advanced.md(辅助与高级小部件)、./references/widgets-richtext.md(富文本小部件,如 Markdown、Html、TextFlow)。回答前需先读取相关参考文件;若读取失败或文件为空,应提示用户运行 /sync-crate-skills makepad --force 更新文档,并仍基于 SKILL.md 模式与内置知识作答。
编写代码时的约定包括:始终为小部件设置 width 和 height;使用 show_bg: true 启用背景渲染;通过 draw_bg、draw_text、draw_icon 访问着色器 uniform;资源路径使用 dep("crate://self/...");根据视觉需求选择合适的 View 变体。
适用场景 适用于使用 Makepad 构建 UI 界面的开发工作,包括生成小部件代码、查询组件属性与变体、了解内置组件清单,以及处理富文本、列表、浮层、媒体等界面需求。
限制 资料未提供该技能的收费、价格、平台支持范围或实际运行效果等信息。文档完整性依赖本地参考文件,若文件缺失需先同步更新。