目标是做一套可以直接放进项目复用的「按钮组件」:包含不同类型(主/次/文字)、不同尺寸(L/M/S)、不同状态(默认/悬停/按下/禁用/加载),并且命名清晰、可被团队一致使用。
1)新建一个 Frame 作为按钮容器,打开 Auto Layout(Shift + A)。
2)在容器里放入两层:左侧可选图标(Icon),右侧文字(Label)。建议结构为:Icon(可隐藏) + Label。
3)容器设置建议:
1)给容器加填充色(例如品牌主色),圆角(例如 10)。
2)文字样式建议先做成文本样式(Text style),例如:14/20 Medium。这样后续全局调整更稳。
3)选中整个按钮 → Create component(Ctrl + Alt + K)。命名建议:Button。
在右侧面板点击 Add variant,为这个组件创建变体。建议用 3 个属性(Properties):
命名规则关键点:属性名用英文、值用固定枚举;不要混用中文或不同大小写。这样团队搜索和替换更一致。
你只需要改 3 件事:高度、Padding、字体(可选)。推荐参考:
实现方法:在每个 Size 变体里把容器高度设为 Fixed,对应数值;Padding按上面调整。保持 Auto Layout 的 Hug 内容宽度,会更适配不同文案。
建议在 Primary 上先跑通,再复制到 Secondary/Text。
注意:不要只靠透明度解决所有状态,否则在不同背景上可能不可读。Secondary(描边按钮)尤其要检查边框对比度。
1)Secondary:通常是透明背景 + 边框 + 文字主色。保持与 Primary 的 padding/高度一致。
2)Text:无背景无描边,仅文字(可选加轻微 Hover 底色)。Text 按钮常用于工具栏或列表操作。
建议把颜色做成 Color styles(例如 Brand/Primary、Text/Primary、Border/Default),后续换主题更快。
在 Prototype 面板中,为组件建立交互:
如果你需要「按下后保持选中」的按钮,请另外增加 State=Selected,并用 On click 切换到 Selected。
问题1:切换变体后尺寸乱跳。通常是某个变体容器没有固定高度或 padding 不一致。统一每个 Size 的高度与 padding。
问题2:Icon 打开后文字不居中。检查 Auto Layout 对齐是否为垂直居中,Item spacing 是否一致;Icon 建议使用固定尺寸(例如 16x16)。
问题3:复制到别的文件样式丢失。尽量用 Styles(Color/Text)而不是直接填色;并把 Styles 命名规范化。
你可以在这套按钮系统基础上,继续扩展:带下拉箭头的 Split Button、带图标的 Icon Button、带计数 Badge 的按钮等。建议每扩展一个类型,就按同样的 Type/Size/State 规则做齐变体。