UGUI 自动布局系统

1、自动布局:

        (1)定义:自动布局系统基于布局元素和布局控制器的概念,提供了把元素放到嵌套的布局组中的方法,允许元素自动根据内容的大小来确定自己的大小。

 2、布局元素(Layout Elements):

        (1)定义:一个布局元素是一个带有 Rect Transfrom 的 GameObject ,布局元素不会直接设置自己的大小,但是其他比如布局控制器一样的组件可以使用它们提供的信息来计算出大小。

        (2) 布局元素相关属性:布局元素一共有6个属性。布局控制器组件使用布局元素提供的信息,布局元素在布局组中根据6个属性来确定。首先申请最小尺寸,如果有足够的空间就申请首选尺寸,如果还有额外的空间就申请灵活尺寸。

3、布局控制器(Layout Controllers):

        (1)定义:布局控制器是一个可以控制一个或者多个布局元素的尺寸或者大小的组件。一个布局控制器可以控制自己本身的布局元素,或者子节点的布局元素。

        (2)内容尺寸适配器(Content Size Fitter):控制自身布局元素尺寸的布局控制器。

        (3)长宽比适配器(Aspect Ratio Fitter):控制自身布局元素尺寸的布局控制器。有三种模式,一种是长度依赖宽度,一种是宽度依赖长度,另外两种是依赖于父物体。

        (4)布局组(Layout Groups):控制子布局元素的尺寸和位置。布局组不会控制自己本身的尺寸,他作为布局元素本身,可以由其他布局控制器或者手动设置。具体使用方式参见官方文档,写的非常清楚。

                1)网格布局和水平垂直布局的区别:在网格布局中强制设置了其中每个Cell的大小。

4、技术细节(稍后补充)

Unity的UGUI(Unity Graphic User Interface)布局是通过RectTransform组件来实现的。RectTransform是一种特殊的Transform组件,它可以控制物体在屏幕上的位置、大小和旋转。 UGUI布局主要有以下几种方式: 1. 相对位置布局:使用锚点(Anchor)来设置物体相对于父级容器的位置。通过设置锚点的最小和最大值来确定物体的偏移位置,使用比例来自动适应不同屏幕分辨率。 2. 绝对位置布局:直接设置物体的位置坐标(position)来确定其在屏幕上的绝对位置。这种布局方式在需要精确控制物体位置时比较常用。 3. 自动布局:通过使用Layout组件(如Vertical Layout Group、Horizontal Layout Group)来实现物体的自动排列布局Layout组件会根据子物体的尺寸和间距来自动调整其位置和大小,使它们适应容器的尺寸。 4. 网格布局:使用GridLayout Group来实现物体的网格布局,可以设置行数、列数、间距和边界等参数来控制物体的位置和排列方式。 在使用Unity控制UGUI布局时,可以通过代码或者编辑器来进行设置。在代码中,可以获取RectTransform组件并通过设置其属性来控制物体的位置、大小和旋转。在编辑器中,可以直接在Inspector面板上通过拖拽和调整参数来实现布局控制。 UGUI布局的设计原则是灵活性和可适应性,可以根据不同的需求和场景来选择合适的布局方式。同时,还可以结合动画效果和事件系统来实现更复杂的交互和界面效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值