Unity 【Content Size Fitter】- 聊天气泡自动适配Text文本框大小
通常在展示人物对话的时候文本的长度是不定的,因此会需要动态的调整对话内容文本框的背景图片的大小,这里以如下这种气泡框的对话为例:
实现该需求涉及到的内容包括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文本框大小相关推荐
- Unity Content Size Fitter 刷新不及时
问题描述 现在有一个需求,就是显示一个滑动列表 这个滑动列表里面的项目数量是不一定的,会适时刷新 在编辑器中,列表的使用是正常的.当打了包之后,就会出现列表无法滑动的情况. 这是由于ContentSi ...
- Unity Ugui 详解 Content Size Fitter 和 Horizontal Layout Group 的使用
如果你希望 一个组件的宽高 可以被 里面的内容撑开 宽高自动改变大小 那么就用 Content Size Fitter 当你设置为PreferredSize的时候 会发现 你的width 或者 hei ...
- Content Size Fitter组件的使用
Content Size Fitter组件主要是用来设置UI的长宽!!! Horizontal Fit和Vertical Fit两个选择框分别是控制UI的宽和高!!! 每个框有三个值可选: 1.Unc ...
- Unity3D Content Size Fitter的坑
Content Size Fitter 如果设置了水平或垂直的约束 那么rect组件在Awake Start阶段 width或高的值为0 如图:设置了垂直方向上的约束 在awake start 时 h ...
- 获取 挂载有Content Size Fitter 组件的UI物体的 宽 和 高
本文章参考 雨松大神的文章 稍加修改 添加应用 using FitMode = UnityEngine.UI.ContentSizeFitter.FitMode; 两个核心方法 ( 把挂有Conte ...
- android--Spinne下拉列表视图r、ArrayAdapter数组适配器、SimpleAdapte简单适配器r、AutoCompleteTextView自动提示完成文本框
在学习这些之前呢,我们先来了解一下关于Spinner.ArrayAdapter.SimpleAdapter.AutoCompleteTextView的作用: Spinner :下拉列表视图 ,他的父类 ...
- android文本框自动补全,[Android]AutoCompleteTextView自动补全文本框
当我们在做项目的时候,往往有着这样的需求:(1)在登陆的时候,在输入的账号的过程中弹出补全账号的提示(2)在搜索的时候,在输入搜索词的过程中弹出补全搜索词的提示,就像: 而这时,AutoComplet ...
- 【100个 Unity踩坑小知识点】 | Unity中Text文本框 和 InputField文本输入框 内容换行问题
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...
- uniapp光标自动定义到文本框_如何在Mac上的照片应用中创建自定义日历
我花了很多时间为我最好的朋友考虑一份甜蜜的礼物.当我陷入沉思时,我想到了在Mac上使用"照片"应用制作自定义日历的想法.告诉你什么:我的朋友真的很喜欢个性化的日历,上面装饰着令人难 ...
最新文章
- pytorch笔记:09)Attention机制
- 并查集:POJ1182-食物链(并查集比较高端的应用)
- 【PC工具】智能抠图软件,绿色免安装抠图神奇抠图工具
- tomact如何处理一个http请求?
- flutter分平台主题定制
- linux查看磁盘占用
- phpcmsV9视频模块开发——盛大游戏通行证注册与密码找回
- Kafka—配置SASL/PLAIN认证客户端及常用操作命令
- 构建用于Openstack Heat的Linux映像
- P1279 字串距离 (动态规划)
- pip mysql_config not found_pip安装mysql-python出现mysql_config not found错误
- 计算机第四次评估报告,建议置顶,天天那么多问计算机的。看看第四轮评估的结果。...
- 微信小程序开发:各种页面特效集合(持续更新)
- 【课程设计】 推箱子游戏(源码+详解)
- IBM期望通过牺牲连通性以完成量子计算的规模化; QQCI宣布成立QUBT大学 | 全球量子科技与工业快讯第三十二期
- 前几天在头条上收到一条私信,内容大致是这样的:“我学校比较垃圾,想自学 Java 可以吗?自学 Java 难吗?毕业后能找到一份 6k左右的工作吗?”
- linux中文显示乱码情况解决
- MATLAB画双纵轴曲线。
- c语言模仿atm源代码,C语言ATM程序模拟
- 网络安全风险与防范方法
热门文章
- ggplot2——饼图篇
- ROS2进行人脸识别face_recognition
- 推荐系统[八]:推荐系统常遇到问题和解决方案[物品冷启动问题、多目标平衡问题、数据实时性问题等]
- 论文阅读|《面向多目标柔性作业车间调度的强化学习NSGA-Ⅱ算法》
- python实现录屏录音小工具
- Kafka安装(windows)
- java web 实现qq发送邮箱验证码
- 5G网络测速,实在是太快了!
- Excel报错“不能使用对象链接和嵌入”并无法粘贴数据可能和输入法有关
- 艾诗娜:红女巫 Ashina: The Red Witch Build.10280376 官方中文 免安装【209M】