UGUI父对象自适应子元素布局解决方案

问题描述

在UI开发中,难免会遇到需要父对象自适应子元素尺寸的问题,这通常是为了解决不同屏幕分辨率的UI自适应问题。实际上我们去仔细了解UGUI的布局组件的原理就能够合理配置组件来解决这个问题。

**案例问题:**例如我现在有一个背景面板,背景面板中包含一张图片和一段文字,要求图片和文字进行向左水平居中布局,图片对象根据Sprite自适应大小,文本框根据文字内容自适应大小,且背景面板始终根据二者的总尺寸进行自适应。

解决方案

根据上述案例问题,首先肯定能想到需要一个Horizontal Layout Group组件,那么这就解决了图片和文字向左水平居中的问题,其次背景面板需要自适应总尺寸,那么就需要一个Content Size Fitter组件。

接下来是图片和文本框,二者都属于布局元素,所以就各自加上Layout Element组件。图片则勾选Image组件的Preserve Aspect选项,LayoutElement组件保持默认;文本框的LayoutElement组件需要勾选Flexible Width和Flexible Height,二者的值可以都设置为1。

总结

如果对UGUI布局感兴趣,还可以去看看预设的布局组件的源代码,在Packages/Unity UI下,对于其它布局情况建议先看看能否通过UGUI的预设布局组件进行组合来解决,若解决不了再去考虑开发自定义的布局组件。

相关推荐
天人合一peng30 分钟前
unity 通过代码修改button及其名字字体的属性
unity·游戏引擎
GLDbalala4 小时前
Unity基于自定义管线实现经典经验光照模型
unity·游戏引擎
心疼你的一切7 小时前
Unity异步编程神器:Unitask库深度解析(功能+实战案例+API全指南)
深度学习·unity·c#·游戏引擎·unitask
呆呆敲代码的小Y9 小时前
【Unity 实用工具篇】 | Book Page Curl 快速实现翻书效果
游戏·unity·游戏引擎·u3d·免费游戏·翻书插件
AC梦1 天前
unity中如何将UI上的字高清显示
ui·unity
小贺儿开发1 天前
Unity3D 智慧城市管理平台
数据库·人工智能·unity·智慧城市·数据可视化
June bug2 天前
【领域知识】休闲游戏一次发版全流程:Google Play + Apple App Store
unity
星夜泊客2 天前
C# 基础:为什么类可以在静态方法中创建自己的实例?
开发语言·经验分享·笔记·unity·c#·游戏引擎
dzj20212 天前
PointerEnter、PointerExit、PointerDown、PointerUp——鼠标点击物体,则开始旋转,鼠标离开或者松开物体,则停止旋转
unity·pointerdown·pointerup
心前阳光2 天前
Unity 模拟父子关系
android·unity·游戏引擎