当前位置:网站首页>随笔-UGUI中LayoutGroup来自适应长度图片长度
随笔-UGUI中LayoutGroup来自适应长度图片长度
2022-08-03 15:07:00 【魂牵丶梦萦】
我们平时在拼UI的时候,会遇到一些需求就是外框的Image需要根据内部的Text的文字长度来自适应外框Image的大小,或者是货币系统中,获取的金币或者钻石外框需要根据玩家的货币数量来自适应外框的长度,例如:
首先我们只需要在Text的GameObject上添加ContentSizeFitter组件,并都选择PreferredSize,即可让Text组件自适应大小。然后可以通过脚本来获取Text的RectTransform中的宽和高,来计算外部Image框的大小。代码并不难,我这里就不贴了。
其实在UGUI中已经给我提供了相应的方法。并不需要我们自己写脚本,方法如下:
我们只需要在Image的组件上添加同样的ContentSizeFitter组件,设置为PreferredSize模式。同时添加HorizontalLayoutGroup组件,调好对应的位置和Padding的数值。这样我们怎么去改文字,外框都会根据我们的Text大小来自适应改变了。(等宽变换或者等高变换只需要调整相应的控制项就可以达到要求,很简单,自己试试就知道了。我这里就不一一列举了)
需要注意的是:
我们在真正的使用时可能会发现,我们在脚本里修改了Text里的内容,但是外框并没有按照我们的要求去正常的变换大小,我们可能需要开关一下GameObject,或者把ChildForceExpand开关一下才能恢复正常,其实就是需要等一帧的。具体什么原因我就不叙述了,直接抛出解决办法:
其实很简单,只需要在你修改完Text的文字之后,添加一句脚本即可:
text.text="Hello World~My name is 魂牵丶梦萦";
LayoutRebuilder.ForceRebuildLayoutImmediate(rect);
其中rect就是你的外框也就是Image上的RectTransForm组件。
边栏推荐
猜你喜欢
Currency ATM: Solana Wallet Has Unknown Security Vulnerability, A Large Number Of Users' Digital Assets Are Stolen
R7 6800H+RTX3050+120Hz 2.8K OLED screen, Intrepid Pro15 2022 pre-sale
JS每晚24:00更新某方法
不安装运行时运行.NET程序
ffplay视频播放原理分析
PostgreSQL 每周新闻 2022-7-27
【指针内功修炼】函数指针 + 函数指针数组 + 回调函数(二)
2021年12月电子学会图形化四级编程题解析含答案:森林运动会
夜神浏览器fiddler抓包
Jupyter Notebook 交互式编程 & 低代码拖拽式编程 | 数据科学生态下的理想平台
随机推荐
【实战】Next.js + 云函数开发一个面试刷题网站
输出1!+2!+3!+......+n!
测试基础整合-测试分类、软件质量模型、测试流程、测试用例、测试点划分方法、缺陷、例子
PAT乙级-B1015 德才论(25)
夜神浏览器fiddler抓包
王守创:多组学整合分析揭示植物代谢多样性的分子机制(8月2号晚)
2021年12月电子学会图形化三级编程题解析含答案:分身术
2022-随便学学
LeetCode136:只出现一次的数字
进程通信的方式
sql注入之报错注入(精简详细)
PAT乙级-B1009 说反话(20)
liunx服务器遇到SYN_SENT洪水攻击
有希望就是好的
你把 vite打包 玩明白
R7 6800H+RTX3050+120Hz 2.8K OLED屏,无畏Pro15 2022开启预售
生物统计师与临床医生协同研究使用的低代码洞察平台丨数据科学 x 临床医学
问题1:get和post的区别
问题1:批量测试(正式测试)之前应该怎么做?
The difference between servlet and jsp _ the difference between servlet and class