按钮组 - MRTK3
使用基于画布的新布局系统可以轻松构建灵活且响应迅速的按钮组。 以前,用户必须使用 ObjectBar
脚本沿单个轴布局一组子级,并且必须手动将每个子级添加到 ObjectBar
的托管子级列表中。
通过基于画布的 UX,你可以利用内置的基于 RectTransform 的布局系统轻松构建和管理 UI 组件的行、列和网格。 可以使用 HorizontalLayoutGroup
、VerticalLayoutGroup
和 GridLayoutGroup
UnityUI 组件构建按钮栏和网格。 子级将根据布局组中配置的约束、填充和选项自动布局。
按钮栏
要构建水平或垂直的按钮“栏”(或其他 UI 控件!),可以使用 HorizontalLayoutGroup
、VerticalLayoutGroup
或 ContentSizeFitter
构建简单的布局。
请注意,这些自动布局组件的子级应该有一个 LayoutElement
组件,用于通知布局引擎每个子级的最小和首选大小。 我们的按钮预制件预装了这些组件,但你可能需要将它们添加到自己的自定义控件中,或者自定义最小和首选大小以满足需求。
按钮网格
要构建灵活的按钮网格,可应用与按钮栏相同的布局和设计,但改用了 GridLayoutGroup
。
要调整行数或列数,请选择想要的约束类型。
- “固定列数”指定列数。 行数将根据集合中的项数重排。
- “固定行数”指定列数。 行数将根据集合中的项数重排。
- “灵活”会产生灵活的行数或列数,具体取决于在
ContentSizeFitter
中选择的拟合类型。 针对ContentSizeFitter
中的两种拟合类型选择Preferred size
,再加上Flexible
网格约束,使网格布局尽量呈方形/均匀,但会在必要时相应地添加行或列。
有关使用 UnityUI 布局系统的详细信息,可在此处查看文档。