unity 让ui对齐_Unity UGUI ANCHORS 及屏幕适配

本文详细介绍了Unity中RectTransform的Anchors属性如何用于UI元素对齐,并探讨了屏幕适配的策略。通过理解AnchorMin和AnchorMax的归一化坐标,可以实现UI元素随父节点大小变化而调整自身大小和位置。文中提供了三种不同的UI适配方式,并通过示例说明如何应用到不同区域的布局。验证结果显示,适配效果符合预期,特别是在常见屏幕比例下。同时强调,Text组件使用BestFit选项能确保内容在调整大小时完整显示。
摘要由CSDN通过智能技术生成

RectTransform 中的 Anchors 用来指定每个UI元素相对于父节点内某个矩形对齐.

在 Inspector 中可看到,AnchorMin 和 AnchorMax 定义了一个矩形(矩形的边可以重合),这个矩形可以在 Scene 里看到(由四个白色三角标识)。

AnchorMin 和 AnchorMax 的值是归一化的,对应表示 AnchorRect 位置在父节点 Rect 中是相对的,在编辑时 UnityEditor 会给出百分比提示。

当调整UI大小时,RectTransform 的 Scale 不会发生改变,改变的是 SizeDelta。当UI大小发生改变时,AnchorRect的四个点会随之发生变化(根据AnchorMin和AnchorMax进行插值),因为子元素的 Rect 和 AnchorRect 每两对应边的相对位移不变,从而实现子元素随着父节点大小和位置改变而改变。(下面是示意图)

换句话说,当父节点 Size 发生改变时,AnchorRect 会随之变化(包括位置和大小),因为子元素的Rect要跟AnchoredRect保持一致性,从而调整大小和位置。

当AnchorRect 双边重合时,不管父节点大小如何改变AnchorRect的大小始终为0,意味着子元素的大小也不会发生改变,这时子元素只是对AnchorPoint(大小为0的AnchorRect)进行位置的对齐。

了解 Anchors 的工作方式后,再做屏幕适配就可以视情况而定了。

UGUI必需要用一个Canvas来做为根节点, 我们可以用 Editor 把Game窗口设置为 Free Aspect形式,然后拖动改变窗口大小来观察适配效果。

这时你会发现,视窗大小发生改变时实际上发生改变的是Canv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值