通常在展示人物对话的时候文本的长度是不定的,因此会需要动态的调整对话内容文本框的背景图片的大小,这里以如下这种气泡框的对话为例:

实现该需求涉及到的内容包括Content Size Fitter组件的使用、2D Sprite工具包的使用。

Content Size Fitter组件用于Text文本框,如图所示,我们将Horzontal Fit设为Preferred Size,当我们调整Text文本框中的内容时,其大小会自动进行调整。

注意Rect Transform中Pivot轴心点的设置,例如上例中我们希望文本框内容增加时,其大小从左到右进行扩展,那么我们需要将Pivot设为(0,0.5):

下例中,文本框内容增加时,其大小从右到左进行拉伸,则其Pivot设置的是(1,0.5):

当我们Sprite切图的Sprite Mode为Single模式,我们拉伸切图时会发生变形:

2D Sprite工具则可以帮我们实现拉伸气泡框的切图大小时,不会发生变形,即所谓的九宫格切图。首先需要在Package Manager中下载安装2D Sprite工具包:

有了2D Sprite工具包后,将Sprite Mode改为Multiple模式,并打开Sprite Editor进行编辑:

点击Slice切割,如图所示将绿色的实线,即剪裁线,调整到适当位置。剪裁线代表的是当我们拉伸纹理时,剪裁线构成的中间的矩形之外的区域不会被拉伸。

为Image设置裁剪好的Sprite切图,并将Image Type设为Sliced类型,调整Pixel Per Unit Multiplier为适当数值:

如图所示,这时我们再拉伸气泡框时,切图不会发生变形:

代码部分只需要根据text文本框的大小设置气泡的大小:

bubble.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, text.preferredWidth + 50f);

Unity 【Content Size Fitter】- 聊天气泡自动适配Text文本框大小相关推荐

  1. Unity Content Size Fitter 刷新不及时

    问题描述 现在有一个需求,就是显示一个滑动列表 这个滑动列表里面的项目数量是不一定的,会适时刷新 在编辑器中,列表的使用是正常的.当打了包之后,就会出现列表无法滑动的情况. 这是由于ContentSi ...

  2. Unity Ugui 详解 Content Size Fitter 和 Horizontal Layout Group 的使用

    如果你希望 一个组件的宽高 可以被 里面的内容撑开 宽高自动改变大小 那么就用 Content Size Fitter 当你设置为PreferredSize的时候 会发现 你的width 或者 hei ...

  3. Content Size Fitter组件的使用

    Content Size Fitter组件主要是用来设置UI的长宽!!! Horizontal Fit和Vertical Fit两个选择框分别是控制UI的宽和高!!! 每个框有三个值可选: 1.Unc ...

  4. Unity3D Content Size Fitter的坑

    Content Size Fitter 如果设置了水平或垂直的约束 那么rect组件在Awake Start阶段 width或高的值为0 如图:设置了垂直方向上的约束 在awake start 时 h ...

  5. 获取 挂载有Content Size Fitter 组件的UI物体的 宽 和 高

    本文章参考 雨松大神的文章 稍加修改 添加应用 using FitMode = UnityEngine.UI.ContentSizeFitter.FitMode; 两个核心方法  ( 把挂有Conte ...

  6. android--Spinne下拉列表视图r、ArrayAdapter数组适配器、SimpleAdapte简单适配器r、AutoCompleteTextView自动提示完成文本框

    在学习这些之前呢,我们先来了解一下关于Spinner.ArrayAdapter.SimpleAdapter.AutoCompleteTextView的作用: Spinner :下拉列表视图 ,他的父类 ...

  7. android文本框自动补全,[Android]AutoCompleteTextView自动补全文本框

    当我们在做项目的时候,往往有着这样的需求:(1)在登陆的时候,在输入的账号的过程中弹出补全账号的提示(2)在搜索的时候,在输入搜索词的过程中弹出补全搜索词的提示,就像: 而这时,AutoComplet ...

  8. 【100个 Unity踩坑小知识点】 | Unity中Text文本框 和 InputField文本输入框 内容换行问题

    Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...

  9. uniapp光标自动定义到文本框_如何在Mac上的照片应用中创建自定义日历

    我花了很多时间为我最好的朋友考虑一份甜蜜的礼物.当我陷入沉思时,我想到了在Mac上使用"照片"应用制作自定义日历的想法.告诉你什么:我的朋友真的很喜欢个性化的日历,上面装饰着令人难 ...

最新文章

  1. pytorch笔记:09)Attention机制
  2. 并查集:POJ1182-食物链(并查集比较高端的应用)
  3. 【PC工具】智能抠图软件,绿色免安装抠图神奇抠图工具
  4. tomact如何处理一个http请求?
  5. flutter分平台主题定制
  6. linux查看磁盘占用
  7. phpcmsV9视频模块开发——盛大游戏通行证注册与密码找回
  8. Kafka—配置SASL/PLAIN认证客户端及常用操作命令
  9. 构建用于Openstack Heat的Linux映像
  10. P1279 字串距离 (动态规划)
  11. pip mysql_config not found_pip安装mysql-python出现mysql_config not found错误
  12. 计算机第四次评估报告,建议置顶,天天那么多问计算机的。看看第四轮评估的结果。...
  13. 微信小程序开发:各种页面特效集合(持续更新)
  14. 【课程设计】 推箱子游戏(源码+详解)
  15. IBM期望通过牺牲连通性以完成量子计算的规模化; QQCI宣布成立QUBT大学 | 全球量子科技与工业快讯第三十二期
  16. 前几天在头条上收到一条私信,内容大致是这样的:“我学校比较垃圾,想自学 Java 可以吗?自学 Java 难吗?毕业后能找到一份 6k左右的工作吗?”
  17. linux中文显示乱码情况解决
  18. MATLAB画双纵轴曲线。
  19. c语言模仿atm源代码,C语言ATM程序模拟
  20. 网络安全风险与防范方法

热门文章

  1. ggplot2——饼图篇
  2. ROS2进行人脸识别face_recognition
  3. 推荐系统[八]:推荐系统常遇到问题和解决方案[物品冷启动问题、多目标平衡问题、数据实时性问题等]
  4. 论文阅读|《面向多目标柔性作业车间调度的强化学习NSGA-Ⅱ算法》
  5. python实现录屏录音小工具
  6. Kafka安装(windows)
  7. java web 实现qq发送邮箱验证码
  8. 5G网络测速,实在是太快了!
  9. Excel报错“不能使用对象链接和嵌入”并无法粘贴数据可能和输入法有关
  10. 艾诗娜:红女巫 Ashina: The Red Witch Build.10280376 官方中文 免安装【209M】