Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Unity零基础到进阶 ☀️| UGUI布局 之Content Size Fitter组件介绍 和 使用示例

Unity零基础到进阶 ☀️| UGUI布局 之Content Size Fitter组件介绍 和 使用示例

作者头像
呆呆敲代码的小Y
发布于 2021-08-20 03:58:29
发布于 2021-08-20 03:58:29
3.6K0
举报

????引言
  • 上次写了一篇博客对UGUI布局的三个组件做了一个介绍和是实战练习 分别是: Vertical Layout Group、Horizontal Layout Group 和 Grid Layout Group
  • 这三个组件都是放在父物体上控制子物体的状态位置的,那这篇文章呢就来对Content Size Fitter组件做一个介绍,一般是配合上面的三个布局组件进行使用

????️‍????Content Size Fitter 组件介绍

官方介绍:

  • The Content Size Fitter functions as a layout controller that controls the size of its own layout element. The size is determined by the minimum or preferred sizes provided by layout element components on the Game Object. Such layout elements can be Image or Text components, layout groups, or a Layout Element component.
  • It’s worth keeping in mind that when a Rect Transform is resized - whether by a Content Size Fitter or something else - the resizing is around the pivot. This means that the direction of the resizing can be controlled using the pivot.
  • For example, when the pivot is in the center, the Content Size Fitter will expand the Rect Transform out equally in all directions. And when the pivot is in the upper left corner, the Content Size Fitter will expand the Rect Transform down and to the right.

译文:

  • Content Size Fitter 用作布局控制器,控制其自己的布局元素的大小。大小由游戏对象上的布局元素组件提供的最小或首选大小决定。此类布局元素可以是图像或文本组件、布局组或布局元素组件。
  • 值得记住的是,当调整 Rect Transform 的大小时 - 无论是通过 Content Size Fitter 还是其他东西 - 调整大小都围绕着枢轴进行。这意味着可以使用枢轴控制调整大小的方向。
  • 例如,当枢轴位于中心时,内容大小调整器将在所有方向上均等地扩展矩形变换。当枢轴位于左上角时,Content Size Fitter 将向下和向右扩展 Rect Transform。

Content Size Fitter是布局控件(Layout Controller)的一个组件,与Layout Group不一样的是,它是对所拥有这个组件的UI对象进行设定。Horizontal Fit和Vertical Fit均为UI.ContentSizeFitter.FitMode枚举类型,有三个值可选:Unconstrained,MinSize,PreferredSize。

1.Horizontal Fit 用什么样的方法来控制宽度

  1. Unconstrained :不使用任何基于布局元素的宽度。
  2. Min size :使用基于布局元素的最小宽度的宽度。
  3. Preferred size:使用基于布局元件的优选宽度的宽度。

2.Vertical Fit 用什么样的方法来控制高度

  1. Unconstrained :不使用任何基于布局元素的高度。
  2. Min size: 使用基于布局元素的最小高度的高度。
  3. Preferred size: 使用基于布局元件的优选高度的高度。

使用Content Size Fitter组件后,该对象的RectTransform组件会发生相应的变化

默认情况下一个对象的RectTransform组件的WidthHeight 可以在编辑模式下就行修改

添加了Content Size Fitter组件后,当Horizontal Fit不为Unconstrained时,Width不可修改

同理,Vertical Fit不为Unconstrained时,Height不可修改。


????️‍????Content Size Fitter 的几种使用方法

1.在文本框中使用

在文本框中添加这个Content Size Fitter组件,并设置为Preferred Size之后

文本框就会跟随文字的大小自由变化了,也是一个小技巧,但是就不可以再自定义控制文本框的大小了


2.控制Scroll View(Scroll Rect组件)控件下Content的大小
  • 在使用Scroll View组件的时候,一般会设置Content的大小来调节现实的内容
  • 如果Content下的东西太多,就会拖不到最后面的模块了,所以这个时候给Content添加一个Content Size Fitter组件,将Vertical Fit的值设置为Preferred Size,那我们就不需要关心Content的Heigh高度了,这个时候就不怕子物体的多少了,都会正常显示出来。

演示一下

未使用Content Size Fitter组件的情况:

使用Content Size Fitter组件的情况:

可以看到未添加Content Size Fitter组件时,因为Content的大小我并没有手动调节到一个合适的大小,导致下面的拖不到

即使鼠标拖过去了,松开的时候也会返回到原来的位置

所以这个时候添加Content Size Fitter组件后,我们就可以达到一个理想的效果了

不用在考虑Content的大小调节了!


????总结

实例展示目前先写这些,这个组件还有其他的挺多用法,等以后碰到会继续添加的

控制UI布局这块的坑很多,以后碰到会慢慢记录下来~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ScrollRect & LayoutGroup & Content Size Fitter & Mask使用滑动列表的几项要点
当需要在较小的区域中显示大量的内容时,需要用到Scroll Rect组件,该组件提供了滚动此内容的功能。通常情况下,Scroll Rect组件经常与Layout Group、Content Size Fitter及Mask组件配合使用。
CoderZ
2022/08/29
7430
ScrollRect & LayoutGroup & Content Size Fitter & Mask使用滑动列表的几项要点
Unity-UI(UGUI详解)01基础概念、自动布局、动画集成、富文本
Canvas应该包含全部UI元素,全部的UI元素应该时Canvas的子物体 调整元素的显示顺序可以从Hierarchy中直接拖拽他们,顺序从也可以被控制通过Scripting使用 SetAsFirstSibling, SetAsLastSibling, and SetSiblingIndex.这些方法。
祝你万事顺利
2019/07/18
2.6K0
Unity-UI(UGUI详解)01基础概念、自动布局、动画集成、富文本
Unity-UI(UGUI详解)02.2 Interaction组件、Auto Layout
此类是交互组件的基类 Property: Interactible:组件是否接受输入,当设置为false,组件将不可用 Transition:在可选组件中这又几个状态转换选项,其取决于选中的状态。不同的状态有:normal、highLighted、pressed和disabled Navigation:这又许多导航选项控制键盘的导航如何实现
祝你万事顺利
2019/07/18
2.3K0
Unity-UI(UGUI详解)02.2 Interaction组件、Auto Layout
【Unity3D 问题总结】☀️ | 解决LayoutGroup配合Content Size Fitter使用时发生子成员位置错乱问题
问题描述: 通过LayoutGroup组件配合 Content Size Fitter实现子成员自适应大小的功能,当子类动态生成或者内容发生变化时,父类未及时扩张或缩小导致内容发生视觉错误。
呆呆敲代码的小Y
2023/07/13
1.4K0
【Unity3D 问题总结】☀️ | 解决LayoutGroup配合Content Size Fitter使用时发生子成员位置错乱问题
Unity 【Content Size Fitter】- 聊天气泡自动适配Text文本框大小
通常在展示人物对话的时候文本的长度是不定的,因此会需要动态的调整对话内容文本框的背景图片的大小,这里以如下这种气泡框的对话为例:
CoderZ
2022/08/29
3.5K0
Unity 【Content Size Fitter】- 聊天气泡自动适配Text文本框大小
Unity & 蓝湖 关于UI工作流优化的思考
我们Unity项目关于UI界面制作的工作流是这样的,UI设计人员将设计好的UI界面在Adobe XD中上传至蓝湖,Unity程序猿从蓝湖中下载切图资源包导入项目工程中,根据蓝湖中的效果图、样式信息进行界面的搭建:
CoderZ
2022/08/29
9950
Unity & 蓝湖 关于UI工作流优化的思考
零基础学Android之常用控件
上次我们讲了布局:线性布局、表格布局、帧布局和相对布局,这个布局,它是在整个移动端设计内容的一个框架的方式,以什么方式来设计界面。最终在界面里面,放置的是控件,所谓控件,就是程序员可以控制的组件,将来用户可以和程序进行交互的组件。
张哥编程
2024/12/19
1680
【Qt学习笔记】3.布局
创建一个窗口MyWindow,包含一个QLineEdit 和一个 QPlainTextEdit,然后用QVBoxLayout进行托管
py3study
2020/01/08
1.3K0
【Qt学习笔记】3.布局
零基础入门 23: UGUI ScrollView
今天要分享的内容,是近期内关于UGUI的最后一篇,UGUI里的滚动视图ScrollView,后期的内容会根据项目实用的功能组件进行分享。
韩东吉
2018/10/19
3.3K0
零基础入门 23: UGUI  ScrollView
UGUI系列-实现层级菜单(Unity3D)
层级菜单在Unity中用到的并不多,主要是做分类的时候用的比较多,今天就给大家分享几个层级代码,扩充一下,写成插件也是不错的。
恬静的小魔龙
2022/08/07
2.1K0
UGUI系列-实现层级菜单(Unity3D)
[学习笔记]unity3d-UGUI
简介 Unity 图形用户界面(unity Graphical User Interface) Unity4.6版本之后引入的界面显示系统 Unity公司自己研发的一套界面显示系统 UGUI和OnGUI、NGUI的区别 uGUI的Canavas有世界坐标和屏幕坐标 uGUI的Image可以使用material UGUI通过Mask来裁剪,而NGUI通过Panel的Clip NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层。 UGUI不需要
六月丶
2022/12/26
3.3K0
[学习笔记]unity3d-UGUI
Unity基础(24)-UGUI
组件属性 Source Image(图像源):纹理格式为Sprite(2D and UI)的图片资源(导入图片后选择Texture Type为Sprite(2D and UI))。 Color(颜色):图片叠加的颜色。 Material(材质):图片叠加的材质,可以用来实现一些特殊效果,如凹凸感觉 Raycast Target(射线投射目标):是否作为射线投射目标,关闭之后忽略UGUI的射线检测。 Set Native Size:点击此按钮则 Image 组件的长宽自动与原图片长宽一致 Image Type(图片显示类型): Simple(基本的):图片整张全显示,不裁切,不叠加,根据边框大小会有拉伸。 Preserve Aspect(锁定比例):针对Simple模式,勾选之后,无论图片的外形放大还是缩小,都会一直保持初始的长宽比例。
孙寅
2020/06/02
4.7K0
UGUI之ScrollRect
1、创建一个Panel,命名为ScrollRect,添加 ScrollRect组件
bering
2019/12/02
7750
Android入门教程(三)-安卓UI文档教程
对Android五大布局的描述,分别是 FrameLayout (框架布局),LinearLayout (线性布局),AbsoluteLayout (绝对布局),RelativeLayout (相对布局),TableLayout (表格布局)。
达达前端
2022/04/28
7360
Android入门教程(三)
FrameLayout 布局的使用效果,就是所有布局里的控件都会自动往左上角放置。所有的元素都会依次覆盖上一次的元素。那么我们现在写代码试试看:
达达前端
2022/04/28
7530
【鸿蒙 HarmonyOS】UI 组件 ( Text 组件 )
id 属性 : ohos:id="$+id:text_helloworld" , 用于作为当前组件的唯一标识 , 在单个布局文件中不允许 id 标识重复 ;
韩曙亮
2023/03/28
1.1K0
【鸿蒙 HarmonyOS】UI 组件 ( Text 组件 )
Unity-Optimizing Unity UI(UGUI优化)04 UI Controls
这一章节专门针对UI Controls进行优化。大部分的UI Controls都对性能表现有一定的影响。
祝你万事顺利
2019/07/24
3.8K0
UGUI系列-原理分析(Unity3D)
使用一个Camera作为参照,将UI平面放置在Camera前的一定距离,因为是参照Camera,如果萤幕大小、分辨率、Camera视锥改变时UI平面会自动调整大小。如果Scene中的物件(GameObject)比UI平面更靠近摄影机,就会遮挡到UI平面。
恬静的小魔龙
2022/08/07
4.1K0
UGUI系列-原理分析(Unity3D)
Unity ugui Anchor锚点自动适配画布中的相对位置
https://blog.csdn.net/qq_39640124/article/details/88284191
汐夜koshio
2020/07/02
2.5K0
Unity ugui Anchor锚点自动适配画布中的相对位置
初步学习Qt布局
在一个Widget中,Qt布局管理系统提供了一个简单而有效的方式来自动组织子widget,以保证他们能够很好地利用可用空间。
bear_fish
2018/09/20
7.4K0
初步学习Qt布局
相关推荐
ScrollRect & LayoutGroup & Content Size Fitter & Mask使用滑动列表的几项要点
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档