【UGUI】UGUI 文字背景根据文字大小自适应
来源:互联网 发布:初学钢琴软件 编辑:程序博客网 时间:2024/05/16 08:05
在使用UGUI 的时候经常会做文字的适配,就是当文字字数超出文本以后让文本随字体的数量增加而加长或加宽,当有背景去做适配的时候如何去做呢?
道理是一样的 在text + contentSizeFitter 组件
然后根据文本最后的高度去对背景进行赋值,理论上 这很简单。
text.preferredHeight
但是 在项目中遇到了一个问题,就是当理想高度不准确的时候,怎么做?
后来的思路是 用 理想宽度去除以 / 字体的总长度 = 每个字体的宽度
用文本的固定宽度去除以 / 每个字体的宽度 = 得出一行有几个字
字体的总长度 除以 / 一行有几个字 = 得出总共有几行
大概这个思路就可以得出想要的高度
TextGenerator m_TextGenerator = stepText.cachedTextGeneratorForLayout; TextGenerationSettings m_TextGenerationSettings = stepText.GetGenerationSettings(Vector2.zero); m_TextGenerationSettings = stepText.GetGenerationSettings(new Vector2(stepText.rectTransform.rect.x, 0.0f)); float fHeight = m_TextGenerator.GetPreferredHeight(block.StepList[i].Desc, m_TextGenerationSettings); var oneFontWidth = stepText.preferredWidth / block.StepList[i].Desc.Length; //rows 一行多少个 var rowNumber = rectObj.sizeDelta.x / oneFontWidth; //一共几行 var rows = block.StepList[i].Desc.Length / (rowNumber); var remainder = block.StepList[i].Desc.Length % (rowNumber); if (remainder > 0) { rows += 1; } //想要的高度 = 一共几行* 一行的高度; rectObj.sizeDelta = new Vector2(rectObj.sizeDelta.x, (rows * fHeight));
阅读全文
1 0
- 【UGUI】UGUI 文字背景根据文字大小自适应
- UGUI 字体背景尺寸自适应
- unity ugui图片自适应文字内容大小
- Unity uGUI设置自适应
- [UnityUI]UGUI自适应
- unity ugui自适应
- UGUI自适应分辨率
- UGUI自适应屏幕
- UGUI对话框自适应
- UGUI自适应笔记
- UGUI屏幕自适应
- Unity UGUI 自适应
- UGUI
- UGUI
- UGUI
- UGUI
- UGUI
- UGUI
- 打表找规律+矩阵快速幂
- 在ubuntu上卸载anaconda2的步骤
- javascript数据结构系列(六)-树和二叉树(1)
- 在使用JavaMail实现imap协议收取各种邮箱服务器的邮件的时候,碰到了几个比较郁闷的问题
- UGUI 学习笔记10 InputField
- 【UGUI】UGUI 文字背景根据文字大小自适应
- FPGA知识点总结
- 连咸鱼都能学会的安装tomcat、修改端口
- 如何使用Git上传本地项目到github?(mac版)
- 打印机理论
- Java设计模式_(创建型)_工厂模式
- iOS10检查内存泄漏时出现的问题以及解决办法--Analyze检测的User-facing text should use localized
- logback整合mybatis输出sql语句两种配置
- mybatis-spring-boot-starter 1.0.1 之后的版本问题