当前位置:网站首页>随笔-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组件。
边栏推荐
- PAT乙级-B1015 德才论(25)
- The difference between servlet and jsp _ the difference between servlet and class
- NFT盲盒挖矿DAO智能合约dapp系统开发详情
- 我现在推荐用mamba替代conda
- leetcode-105 从前序与中序遍历序列构造二叉树-使用栈代替递归
- 问题8:对朋友圈进行用例设计
- Currency ATM: Solana Wallet Has Unknown Security Vulnerability, A Large Number Of Users' Digital Assets Are Stolen
- 你没见过的《老友记》镜头,AI给补出来了|ECCV 2022
- 【周报】2022年7月31日
- 【FPGA教程案例44】图像案例4——基于FPGA的图像中值滤波verilog实现,通过MATLAB进行辅助验证
猜你喜欢
随机推荐
兆骑科创高层次人才引进平台,创新创业赛事活动路演
使用华为HECS云服务器打造Telegraf+Influxdb+Grafana 监控系统【华为云至简致远】
eolink告诉你,国内Api行业,可以内卷到什么程度?
php类的析构函数:__destruct
【问题】使用pip安装第三方库的时候遇到“timeout”的解决方法
2021年12月电子学会图形化二级编程题解析含答案:消灭蝙蝠
The difference between servlet and jsp _ the difference between servlet and class
文件包含之伪协议的使用
问题8:对朋友圈进行用例设计
PAT乙级-B1011 A+B 和 C(15)
【报错】ImportError: libpng16-57e5e0a0.so.16.37.0: cannot open shared object file: No such file or direc
不安装运行时运行.NET程序
Flink作业调度详解
问题5:发现缺陷怎么办?缺陷的类型有哪些?
【报错】import cv2 as cv ModuleNotFoundError: No module named ‘cv2
How to use redis
QT之Mysql驱动
【FPGA教程案例44】图像案例4——基于FPGA的图像中值滤波verilog实现,通过MATLAB进行辅助验证
PAT乙级-B1014 福尔摩斯的约会(20)
2021年12月电子学会图形化四级编程题解析含答案:森林运动会