UI自适应 Unity

本文介绍了一种解决UI自适应问题的方法,通过计算屏幕相对于原始屏幕的缩放比及实际屏幕宽度,调整GridLayoutGroup组件下的cellSize,确保经验条等元素在不同屏幕尺寸下能够平滑缩放。

最近学习遇到了一个UI自适应的问题
如下图:
1335*750
在这里插入图片描述
当切换到free aspect下
在这里插入图片描述

经验条因为没有设置两边对齐就会出现间隙问题

这几个小格子我是用的grid layout Group 来调整的,所以在自适应的时候,随着屏幕变化,只需要更改这个组件下的cellSize即可。
首先看第一张图
在这里插入图片描述
因为除经验条外其他的宽度都是固定大小的可以在其UI的rect transform组件下计算出其总宽度,然后再加上这十个经验条的总宽度就==屏幕的总宽度。然后就是小学生解方程就可以得出每个经验条的cellSize宽度大小。

  • 注意这里的画布的UI Scale Mode模式是Scale With Screen 因为这样UI的缩放才会随着屏幕的变化而变化。也正是这样才引出我这个问题的出现

下面来看代码的实现

private void ScreenAdaptation(
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值