【问题标题】:UI Panels are not positioning themselves according to screen sizeUI 面板没有根据屏幕尺寸定位自己
【发布时间】:2026-01-16 14:20:05
【问题描述】:

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

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

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

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

请帮帮我..

【问题讨论】:

  • 尝试使用网格布局组。

标签: unity3d user-interface panel android-canvas


【解决方案1】:

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

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

【讨论】:

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