用途
本技能是 Makepad 内置控件的快速参考,从 ui_zoo 示例中提取。当你需要了解有哪些可用控件、它们的属性与用法示例时可以使用。完整示例可参见 ui_zoo。
主要能力
内容按控件类型组织为快速导航,包括:按钮(Button、ButtonGradient、ButtonIcon)、文本输入(TextInput 变体)、滑块(Slider、SliderRound、SliderMinimal)、复选框(CheckBox、CheckBoxToggle)、单选按钮(RadioButton 分组)、下拉菜单、标签(Label、H1-H4、P)、图标与图片(Icon、Image、RotatedImage)、视图与容器(RoundedView、ScrollView)、列表(PortalList 虚拟列表)、导航(PageFlip、Fold)。此外还涉及 Spinner 加载指示、Rotary 旋钮、Markdown/HTML 渲染与 FileTree。
使用方式
所有控件通过 Makepad 的 live_design! 宏以声明式方式书写,通常先引入主题与控件库:
live_design! {
use link::theme::*;
use link::widgets::*;
<Button> { text: "Click me" }
}
文档为每类控件给出了常见变体与自定义写法。例如按钮支持标准、带图标、禁用(animator: { disabled = { default: on } })、渐变色(ButtonGradientX / ButtonGradientY)以及纯图标(ButtonIcon)形式,并可通过 draw_bg、draw_text 自定义颜色、边框圆角、悬停与按下颜色、字体大小等。
文本输入支持初始值、密码(is_password)、只读(is_read_only)、仅数字(is_numeric_only)、禁用状态以及 Flat / GradientX / GradientY 样式,并可通过 draw_bg、draw_text、draw_cursor、draw_selection 自定义。
滑块支持 min / max、step、precision、label_align 等属性;复选框支持默认选中、禁用与 Toggle 开关样式;单选按钮通过 radio_group 分组;下拉菜单可通过 labels/values 或 items 配置。
标签支持换行(wrap: Word)、省略号溢出(wrap: Ellipsis)与自定义字体颜色和字号,并提供 H1-H4、P 等标题段落样式以及可点击的 LinkLabel。
列表方面,PortalList 用于大列表的虚拟化与条目回收,Rust 侧在 draw_walk 中通过 portal_list.item 逐项填充并绘制。PageFlip 用于标签式页面切换(active_page 属性与 set_active_page 切换),Fold 系列(FoldButton、FoldHeader)用于可折叠区域。
文档末尾还给出通用属性参考(width、height、padding、margin、flow、spacing、align、visible、cursor 及其取值)与 Animator 状态(disabled、selected、hover、pressed、focus)。
适用场景
适合使用 Makepad 框架开发界面时查阅内置控件清单、确认控件属性与变体写法,以及参考 live_design! 中的组件声明与部分运行时交互(如虚拟列表填充、页面切换、文件树构建)。
限制
本资料为控件参考,未提供安装命令、版本要求、授权或收费信息;文中提示完整示例需参见 ui_zoo,控件源码见 Makepad widgets 资源,但未给出这些资源的具体地址。