自动布局是 Motiff 妙多中十分强大的功能,使用自动布局可以高效完成设计工作。
有很多常见的设计场景可以使用自动布局,比如:
对于自动布局,以下功能无法同时使用:
🚫 不可以对自动布局容器的子图层应用约束,除了使用绝对位置的子图层。👉🏻探索更多「约束」功能
🚫 不可以对自动布局容器的子图层使用智能排列。
自动布局是容器的一个属性。👉🏻探索更多「容器」功能
你可以为一个容器,组件或其他选择的多个图层添加自动布局。这包括:
如果添加自动布局的图层还不是容器,Motiff 妙多会围绕图层自动创建一个容器。
有 3 种方式可以添加自动布局:
你无法通过多选容器批量添加自动布局,需要选中每个容器依次添加自动布局。
添加子图层
你可以将任何图层添加到自动布局中。
如果被拖动的图层尺寸大于自动布局容器,则无法看到将其添加到自动布局的蓝色指示线提示。
若要拖入,需要在拖动时按住修饰键:
复制子图层
在自动布局中,你可以复制子图层。Motiff 妙多会将其副本自动添加到原图层的右侧(水平排列)或下方(垂直排列):
调整子图层顺序
你可以改变子图层在自动布局中的顺序:
移除子图层
你可以从自动布局容器中删除子图层,有如下三种操作:
自动布局会忽略隐藏的子图层。如果你想在子图层所在的位置创建一个空白区域,可以将其不透明度改为 0%。
你可以删除自动布局,自动布局容器将恢复为普通容器。
有3种方式删除自动布局:
你不能使用添加自动布局的快捷键来删除自动布局,如果再次使用这个快捷键,Motiff 妙多会围绕图层再新建一个自动布局容器。
方向是指子图层在自动布局容器中的排列方向。
自动布局的方向有两种:水平方向和垂直方向。
每个自动布局只能设置一种方向,要构建多个方向的话需要进行嵌套。
你可以通过画布或右边栏调整子图层间的距离。
在画布区域调整
在画布区域有以下方式调整自动布局的间距:
按住 Shift 拖动手柄可以进行每次 10px 的调整。
在右边栏调整
在右边栏有以下方式调整自动布局的间距:
边距是指自动布局容器的边界和子图层之间的距离。
你可以在垂直或水平方向上统一设置边距,也可以对上、下、左、右的边距分别设置不同的值。
可以通过画布或右边栏调整边距。
在画布区域调整
在画布区域有以下方式调整自动布局的间距:
以上方式都可以使用快捷键实现同时调整多个边距:
macOS | Windows | |
---|---|---|
同时调节对边边距 | 按住⌥ Option | 按住Alt |
同时调节四边边距 | 按住⇧ Shift + ⌥ Option | 按住Alt + Shift |
当出现画布区域的输入框时,你可以按 Tab 键切换输入框控制的边距。
在右边栏调整
在右边栏中,可以分别调整垂直方向(上和下)、水平方向(左和右)的边距。
如果你想为四边设置不同边距,在右边栏中点击 ,修改不同的边距值。
你可以在自动布局容器上设置子图层的对齐方式,无法单独控制子图层的对齐方式。
自动布局容器的方向和间距类型决定你可以使用的对齐方式。
在右边栏中,可以通过可交互图示调整对齐方式。
当间距类型设置为自动间距时,则每个方向只有三种对齐方式:
自动布局容器可以根据子图层的大小/数量变化响应式的调整自己大小,子图层也可以根据容器的大小变化响应式的调整自己的大小。
你可以通过响应类型控制容器、子图层如何进行响应式的大小变化。
在右边栏中的设计面板调整响应类型。响应类型有3种,分别是:「包围内容」、「填充容器」和「固定」,其中宽度和高度的响应类型要分别设置。
包围内容 你可以将自动布局容器设置为「包围内容」,设置后,容器的大小将根据子图层的数量/大小变化。在保留间距和边距的前提下,容器会尽可能缩小尺寸包裹住子图层。
双击容器的边界框可以将容器设置为「包围内容」。
填充容器 你可以将自动布局子图层设置为「填充容器」,设置后,子图层的大小将根据容器的大小变化。 在保留间距和边距的前提下,子图层会尽可能变大去填满容器内的剩余空间。
⌥ Option 双击编辑框可以将子图层设置为填充容器。
固定 你可以将自动布局容器或自动布局子图层设置为「固定」,设置后,图层不再响应式的根据容器,或根据子图层变化大小。
响应类型中,如果子图层被设置为「填充容器」,容器不会维持为「包围内容」,会变成固定。
可以通过设置间距类型,调整子图层在容器内的间距排列方式。
点击右边栏的自动布局模块中的 打开更多设置,调整间距类型:
在间距的输入框中输入「自动」、「auto」或清空所有数值,可以将间距类型设为自动间距。
重叠时遮挡方式可以实现切换子图层重叠时的顺序。
当多个子图层重叠时,默认排列在后的子图层在上。
你可以更改在画布上看到的重叠的视觉顺序。
选择自动布局框架后,点击 打开更多设置,进行选择:
修改重叠时的遮挡方式不会影响图层列表中图层顺序。
设置文本基线对齐,可以调整文本与文本或文本与其他图层之间的对齐关系。
当内容水平排列时,对齐方式中支持选择「文本基线对齐」。
在对齐选项旁边,点击 打开更多设置,在文本基线对齐旁边,点击 启用基线对齐。
绝对位置能够使子图层不受自动布局规则控制,在图层列表中仍在自动布局容器内部。启用了绝对位置的子图层精准放置在其父图层上。
要启用绝对位置,请选中自动布局容器的子图层,然后单击右边栏中的 。
具有绝对位置的子图层可被当成普通容器中的子图层,可以正常使用约束功能。
自动布局的操作便捷,但其强大功能远不止如此,你还可以通过以下用法探索自动布局的复杂应用。
你不能将约束应用于自动布局容器的子图层,除非该对象启用了绝对位置。相反,你可以使用响应类型来定义图层如何响应容器调整大小。
你可以将水平方向的自动布局嵌套垂直方向的自动布局,构建更复杂的响应式界面。
在示例中,通过三层自动布局嵌套结构实现响应式卡片:
你可以通过以下方式嵌套自动布局:
多个容器嵌套时,自动布局只会对上一层父图层生效,无需担心子图层中的组件设置会受到外层容器的影响。
组件本身是容器,你可以为组件添加自动布局。
你无法通过多选组件批量添加自动布局,需要选中每个容器依次添加自动布局。
通过下表可以了解组件和实例中自动布局的功能:
功能 | 组件 | 实例 |
---|---|---|
增加自动布局 | ✅ | ❌ |
添加子图层 | ✅ | ❌ |
调整子图层顺序 | ✅ | ❌ |
移除子图层 | ✅ | 仅隐藏图层 |
删除自动布局 | ✅ | ❌ |
调整方向 | ✅ | ❌ |
调整图层间距 | ✅ | ✅ |
调整图层边距 | ✅ | ✅ |
调整图层对齐 | ✅ | ✅ |
调整响应类型 | ✅ | ✅ |
调整间距类型 | ✅ | ✅ |
调整重叠时的遮挡方式 | ✅ | ✅ |
调整文本基线对齐 | ✅ | ✅ |
调整子图层的绝对位置 | ✅ | ❌ |