当前位置: 首页 > news >正文

Unity 文字高度自适应

期望

文字有字号限制,输入文字文字后先判断高度是否适用于限制字号,若处于最小字号时高度任不适用,则调整RectTransform 的高度。

核心代码

每次输入文字时先将字号设定为原始字号。

comp.fontSize = fontSize;
comp.text = content;

 拓展Text 调用自适应脚本里的设定文字方法。

public static class ExtensionText
{public static void SetText(this Text text, string content){if (text.GetComponent<AdaptiveText>()){text.GetComponent<AdaptiveText>().SetText(content);}else{text.text = content;}}
}

添加LayoutElement 组件用于限制最小高度。 

 添加ContentSizeFitter 组件用于自适应高度。

判断当前高度是否大于最小高度。

needAdapt = rect.rect.height > element.minHeight;

 当前高度大于最小高度,则先调整字号。

currentSize = comp.fontSize;
while (minSize < currentSize)
{currentSize--;comp.fontSize = currentSize;yield return new WaitForEndOfFrame();if (!needAdapt){break;}
}

效果

http://www.lryc.cn/news/547264.html

相关文章:

  • Teaching Small Language Models Reasoning throughCounterfactual Distillation
  • 快速开始React开发(一)
  • 2025最新Transformer模型及深度学习前沿技术应用
  • 极狐GitLab 正式发布安全版本17.9.1、17.8.4、17.7.6
  • [环境搭建篇] Windows 环境下如何安装Docker工具
  • JavaScript 数组和字符串方法详解
  • 达梦数据库系列之Mysql项目迁移为达梦项目
  • 10个实用IntelliJ IDEA插件
  • 10分钟从零开始搭建机器人管理系统(飞算AI)
  • [自动驾驶-传感器融合] 多激光雷达的外参标定
  • 怎么让呼叫中心支持高并发
  • Elasticsearch简单学习
  • 就像BGP中的AS_PATH一样,无论路途多远,我愿意陪你一起走——基于华为ENSP的BGP的路由负载均衡及过滤深入浅出
  • valgrind 检测多线程 bug,检测 并发 bug concurrent bug parallel bug
  • 游戏引擎学习第135天
  • 异步操作返回原始上下文
  • 区块链中的数字签名:安全性与可信度的核心
  • vulnhub渗透日记23:bulldog
  • macOS - 使用 tmux
  • Armbian: 轻量级 ARM 设备专用 Linux 发行版全面解析
  • 微服务通信:用gRPC + Protobuf 构建高效API
  • Spring Boot 整合 JMS-ActiveMQ,并安装 ActiveMQ
  • 容器 /dev/shm 泄漏学习
  • Spring Boot 3.x 基于 Redis 实现邮箱验证码认证
  • 车载测试:智能座舱测试中多屏联动与语音交互的挑战
  • C/C++输入输出(1)
  • 前端面试场景题葵花宝典之四
  • 探索Elasticsearch:索引的CRUD
  • Java数据结构第十六期:走进二叉树的奇妙世界(五)
  • 【开源免费】基于SpringBoot+Vue.JS疫情管理系统(JAVA毕业设计)