[Unity] UI 布局使用 HorizontalLayout 或 VerticalLayout 时,应该设置长或宽等于当前 panel 的长或宽

259 阅读1分钟

假设屏幕宽高为 1080 * 1920

现在我有一个 HorizontalLayout 要让两个文字位于一排,居中显示

图片.png

一开始我的效果是

图片.png

就给人感觉很怪,因为我已经尽量把所有 UI 元素的锚点设置在了中心,然后 HorizontalLayout 组件的 Child Alignment 我也设置了 Middle Center

之后才发现这跟我 HorizontalLayout 物体的 Rect Transform 有关

图片.png

比如我用的是 HorizontalLayout 的话,那么最好就是把他设置为当前 Panel 的宽度,这样就可以保证它的作用范围确实包括了这一个整行,那么就可以保证这一行中的元素是居中显示了

如果用的是 VerticalLayout 那么就需要使用当前 Panel 的长度

如果是没有用 Panel 的话,那么屏幕就相当于当前 Panel