UI 面板没有根据屏幕尺寸定位自己

Posted

技术标签:

【中文标题】UI 面板没有根据屏幕尺寸定位自己【英文标题】:UI Panels are not positioning themselves according to screen size 【发布时间】:2021-09-26 05:44:15 【问题描述】:

我的面板内的 UI 元素可以根据屏幕大小正常缩放,但我的不同面板之间的距离却不是。我的场景中有 3 个面板位于不同的相对位置,我设置为 1920x1080 参考分辨率,并使用动画在它们之间切换。但是当我更改游戏视图分辨率时,这些面板无法正确对齐。以下是截图:

这些是我设置的 1920x1080 面板。

这些是我将游戏视图分辨率设置为 2340x1080 时的面板。如您所见,“设置”面板仍然可以,但“更多设置”面板没有正确重新定位。

当我将游戏分辨率设置为 800x480 时也会发生同样的情况。

请帮帮我..

【问题讨论】:

尝试使用网格布局组。 【参考方案1】:

实现您想要做的最简单的方法是使用一个名为GridLayoutGroup 的组件。将此组件添加到父对象,将所有三个 UI 元素添加到它,并将列数设置为 2。我可以稍后添加一个示例,目前正在构建一个项目。

编辑:这是上述解决方案的 gif 示例。

【讨论】:

我试过这个,但不能正常工作。 1920x1080 是我的参考分辨率以及单元格大小 GridLayoutGroup,一切都很好,但是当我将分辨率更改为 2960x1440 时,我的主页仍然有 1920x1080 大小,并且“更多设置”面板的某些部分出现在屏幕上。我做错了吗?? @Shubh 我已经测试过了,它在你提供的分辨率下对我来说很好。您是否确保您的 Canvas 已设置为可扩展并且您为您的 Canvas 提供了良好的 Reference Resolution

以上是关于UI 面板没有根据屏幕尺寸定位自己的主要内容,如果未能解决你的问题,请参考以下文章

基于屏幕尺寸的 UI 元素间距

我希望两个按钮具有相同的宽度并使用自动布局从屏幕顶部按比例在所有屏幕尺寸中定位自己?

在模拟器中或根据不同的屏幕尺寸将小部件定位在堆栈中的位置变化。扑

Unity3d UGUI基于屏幕尺寸的自适应

使用 values-swdp 在 Android 中定位不同的屏幕尺寸

flutter 屏幕尺寸适配字体大小适配