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

Unity 聊天气泡根据文本内容适配

第一步 拼接UI

1、对气泡图进行九宫图切割

2、设置底图pivot位置和对齐方式

pivot位置:(0,1)

对齐方式:左上对齐

3、设置文本pivot位置和对齐方式,并挂上布局组件

pivot设置和对齐方式和底图一样,文本作为底图的子节点

文本组件宽度不变,主要控制高度根据文本内容适配

第二步 代码控制适配

主要控制高度适配

气泡底图的高度包括三部分组成:顶部间隔+文本组件高度+底部间隔

using UnityEngine;
using UnityEngine.UI;public class Test : MonoBehaviour
{public RectTransform bgRect;public Text txt;private RectTransform txtRect;private void Start(){txtRect = txt.GetComponent<RectTransform>();AutoFitBg();}private void Update(){//测试用if (Input.GetKeyDown(KeyCode.A)){txt.text = "南无阿弥陀佛";AutoFitBg();}//测试用if (Input.GetKeyDown(KeyCode.D)){txt.text = "56456e4f564awe564f564ewa56f456ewa4f56ewa456f4a6ew54f56a4ewf";AutoFitBg();}}public void AutoFitBg(){LayoutRebuilder.ForceRebuildLayoutImmediate(txtRect);var txtHeight = txtRect.rect.height;//文本组件高度var topHeight = 36;//顶部间隔var bottomHeight = 36;//底部间隔var sumHeight = topHeight + txtHeight + bottomHeight;bgRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,sumHeight);}
}

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

相关文章:

  • 对学习编程语言的一些理解
  • MySQL MHA 部署全攻略:从零搭建高可用数据库架构
  • windows怎样查看系统信息(处理器等)
  • 007 HBuilderX提示IDE service port disabled. To use CLI Call, open IDE
  • 计算机网络之TCP的可靠传输
  • Python爬虫系列教程之第十四篇:爬虫项目部署、调度与监控系统
  • 线程与进程的深入解析及 Linux 线程编程
  • 在ubuntu上用Python的openpyxl模块操作Excel的案例
  • 【OS安装与使用】part6-ubuntu 22.04+CUDA 12.4运行MARL算法(多智能体强化学习)
  • 【Python爬虫(35)】解锁Python多进程爬虫:高效数据抓取秘籍
  • HarmonyOS 开发套件 介绍 ——上篇
  • Linux 高级篇 日志管理、定制自己的Linux系统、备份与恢复
  • deepseek与其他大模型配合组合
  • 经验分享—WEB渗透测试中遇到加密内容的数据包该如何测试!
  • JUC并发—9.并发安全集合四
  • JSON格式,C语言自己实现,以及直接调用库函数(一)
  • MinkowskiEngine安装(CUDA11.8+torch2.0.1+RTX4070TI)
  • Spring监听器Listener
  • 【深度学习在图像配准中的应用与挑战】
  • 使用 Docker-compose 部署 MySQL
  • blender笔记2
  • 特殊符号_符号图案_特殊符号大全
  • Unity学习part4
  • 【AI绘画】大卫• 霍克尼风格——自然的魔法(一丹一世界)
  • MySQL日志undo log、redo log和binlog详解
  • C++中的指针
  • 拆解微软CEO纳德拉战略蓝图:AI、量子计算、游戏革命如何改写未来规则!
  • 智能算法如何优化数字内容体验的个性化推荐效果
  • MATLAB在数据分析和绘图中的应用:从基础到实践
  • AI客服-接入deepseek大模型到微信(本地部署deepseek集成微信自动收发消息)