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

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.kler.cn/a/555556.html

相关文章:

  • 深度学习-2.机械学习基础
  • 影刀RPA中级证书-Excel进阶-开票清单
  • 2025最新智能优化算法:鲸鱼迁徙算法(Whale Migration Algorithm,WMA)求解23个经典函数测试集,MATLAB
  • 访问者模式 Visitor Pattern
  • Elasticsearch 数据建模:从原理到实战的降维打击指南
  • MySQL Binlog 监听:Canal + Spring Boot 实战指南
  • 【分布式理论14】分布式数据库存储:分表分库、主从复制与数据扩容策略
  • 网络协议相关知识有哪些?
  • 一次交换机故障导致的云平台(opensatck+ceph)不可用的记录
  • Compose 定制UI视图
  • Netty入门详解
  • pyside6学习专栏(二):程序图像资源的加载方式
  • 庙算兵棋推演AI开发初探(5-数据处理)
  • 阿里云子账号管理ECS权限配置全指南
  • Canvas进阶-2、可视化应用
  • C# 中关于补位的写法 PadLeft,PadRight 函数
  • 猎板PCB百科——键盘PCB
  • cesium(vue)一些面试问题(包含Three.js)
  • el-tree选中数据重组成树
  • 【Python爬虫(24)】Redis:Python爬虫的秘密武器