当前位置:网站首页>随笔-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组件。
边栏推荐
- 自己悦表存心
- 高性能创作本,日常修图剪辑选华硕无畏Pro15 2022完全足矣!
- 问题8:对朋友圈进行用例设计
- Day2:面试必考题目
- 【周报】2022年7月31日
- PAT乙级-B1013 数素数(20)
- 【指针内功修炼】函数指针 + 函数指针数组 + 回调函数(二)
- 【报错】ImportError: libpng16-57e5e0a0.so.16.37.0: cannot open shared object file: No such file or direc
- The difference between servlet and jsp _ the difference between servlet and class
- web漏洞之远程命令/代码执行
猜你喜欢
随机推荐
【常见 error】Vivado 综合出现中断、失败、“PID not specified”
SQL 不新增表 把一张表定义成两张
Use Typora+EasyBlogImageForTypora to write a blog and upload pictures quickly without a picture bed
交大医学院临床研究中心如何将 ModelWhale 应用于临床医生教学、研究丨数据科学 x 临床医学
问题5:发现缺陷怎么办?缺陷的类型有哪些?
云硬盘EVS详解以及如何用与避坑【华为云至简致远】
你把 vite打包 玩明白
C语言中操作符的详细介绍
20220801使用安信可的ESP-01S模块实现WIFI的UART传输功能
基于matlab的遥测信道的基本特性仿真分析
mysql占用服务器CPU100%的解决办法
redis的使用方法
PAT乙级-B1017 A除以B(20)
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】
2021年12月电子学会图形化四级编程题解析含答案:质数判断器
LeetCode136:只出现一次的数字
varchar2 and varchar2(char)_datetime data types
输出1!+2!+3!+......+n!
【周报】2022年7月31日
你把 浏览器滚动事件 玩明白