原创至上,移步请戳:(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout

6、 Auto Layout

Rect Transform布局系统是足够灵活,可以处理很多不同类型的布局,它还允许将元素放置在完整的任意多边形。然而,有时更结构化的东西可能被需要。

自动布局系统提供方法来将元素放置在嵌套的布局组像水平组horizontal groups、垂直的群体vertical groups或网格等。它还允许自动将调整大小来包含内容。例如一个按钮可以动态调整大小完全地适合它的文本内容,再加上一些填充。

自动布局系统是建立在基本的RectTransform布局系统之上的系统。它可以(可选)可用于某些或所有元素。

6.1 Understanding Layout Elements

自动布局系统基于一种布局元素的概念。布局元素是元素的布局,包含的只是是关于大小Size。

一种布局元素具有定义了它自己的属性:

•Minimum width

•Minimum height

•Preferred(推荐优选)width

•Preferred height

•Flexible宽度(多少水平方向扩展,如果有可用的额外的空间)

•Flexible高度(多少垂直方向扩展,如果有可用的额外的空间)

图像和文本组件是两个例子的功能作为布局元素的组件。他们有一个最小minimum宽度和高度为零,和首选preferred的宽度和高度相匹配的雪碧或文本的内容。他们灵活flexible的宽度和高度是 1。

布局元素不直接设置他们自己的大小,但其他组件可以使用它们提供的信息来计算要使用它们的大小。例如像组件的Content Size Fitter和各种各样的布局组组件。。

6.2 Content Size Fitter(内容大小适配器)

最简单方法是看看自动布局系统中的行动,将ContentSize Fitter组件添加到布局元素。例如你可以将其添加到一个游戏物体与文本组件。

Context Size Fitter具有这两个属性:

Property:                               Function:

Horizontal Fit:特定的格式,将用于在运行时的声音。

None :不会驱动基于布局元素的宽度。

Minimum :驱动基于布局元素的最小宽度的宽度。

Preferred :驱动基于布局元素的preferred宽度的宽度。

Vertical Fit:此选项提供了更高的质量影响较大的文件大小,是最好的非常短的声音效果。

None :不驱动的基于布局元素的高度。

Minimum :驱动基于布局元素的最小宽度的高度。

Preferred :驱动基于布局元素的preferred宽度的高度。

6.3 Driven Rect Transform properties

由于自动布局系统可以自动控制某些用户界面元素的大小和位置的,这些大小和位置同一时间不应手动编辑在。Rect Transform具有驱动属性。例如,ContentSizeFitter具有水平适合的属性设置为最小值Minimum或优先Preferred将驱动Rect Transform的宽度相同的游戏对象。宽度将显示为只读和小信息框,Rect Transform的顶部将信息一个或更多的属性由 ContenSizeFitter 驱动的。

驱动Rect Transforms属性有其他原因,在旁边防止手动编辑。一个layout能够被改变正是因为通过改变分辨率或游戏视图的大小。这反过来可以更改布局元素的大小或位置,和改变驱动属性的值。但它不是可取的场景标记对于具有未保存更改,只是因为在游戏视图调整了大小。要防止这种情况,驱动属性的值不作为保存场景的一部分,对它们的更改不标记现场为已更改。

同时一些组件如其自身 Rect变换的同时一些组件如其自身Rect变换的内容大小钳工驱动器属性,其他组件,如布局组组件的儿童游戏对象上开车 Rect变换的属性。驱动器属性,其他组件,如布局组组件的儿童游戏对象上开车 Rect变换的属性。

6.4 Layout Element

图像和文本的组件已经是布局元素功能,因为他们定义他们自己的最小值和首选大小。如果你想要重写的最小值或首选的大小,您可以通过将布局元素组件添加到游戏物体。布局元素组件也可以添加到任何游戏对象,使成为一种布局元素。

6.5 Layout Groups

布局组是组件,驱动他们的子游戏对象的布局。布局组并不控制其自身的大小。而是它作为一种布局元素本身的功能。布局组可以通过如下的参数控制的Rect Transform的大小:

•手动指定一个 Rect Transform的大小。

•游戏对象自身的Content Size Fitter组件。
•别的东西控制Rect Transform -例如画布在屏幕空间模式的大小。

•一个布局组组件在父游戏对象上。

无论布局组被分配的大小,它会尝试分配合适的空间量,它的每个孩子布局元素基于minimum, preferred, and flexible sizes的大小被记录。布局组还可以任意嵌套地通过这种方式。

6.6 Horizontal and Vertical Layout Group

水平布局组组件的地方及其子布局元素彼此相邻,肩并肩。其宽度取决于他们各自的minimum, preferred, and flexible的宽度,根据下面的模型

•该最小宽度的所有子布局元素加在一起,同时增加了它们之间的间距。其结果是横向布局组的最小宽度。

•该首选宽度的所有子布局元素都加在一起,同时增加了它们之间的间距。其结果是横向布局组的首选的宽度。

•如果水平布局组是在其最小宽度或更小,所有的子布局元素也将是其最小宽度。

•该更接近的水平布局组是其首选的宽度,每个子布局元素还将得到他们的首选宽度。

•如果水平布局组是比其首选宽度更宽,它将分配到子布局元素按照它们各自的灵活宽度按比例的额外可用空间。

6.7 Grid LayoutGroup

网格布局组组件地方在网格中包括其子布局元素,其中每个元素有一个固定的宽度和高度指定其在的网格布局组中的位置。与其他布局组不同,网格布局组忽略由其子布局元素记录的的minimum, preferred, and flexible的大小。

TechnicalDetails

TODO

6.8 Layout Interfaces

如果它实现 ILayoutElement接口由自动布局系统,一个组件被视为一种布局元素,。

如果它实现 ILayoutGroup接口,一个组件预计将驱动它孩子的Rect Transforms。

如果它实现 ILayoutSelfController接口,一个组件预计将驱动它自己Rect Transform。

LayoutCalculations

TODO

【转】(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout的更多相关文章

  1. 【转】(三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout

    原创至上,移步请戳:(三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout 2. BasicLayout 在这一节我们会看到UI元素相对于画布的位置是怎样的. ...

  2. [转](三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout

    大家好,我是孙广东.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unityma ...

  3. (三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout

     大家好,我是孙广东.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unit ...

  4. 【转】(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text

    原创至上,移步请戳:(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text 7.Rich Text UI元素和文本网格的文本可以合并多个字体样式和大小.对 UI系统 ...

  5. 【转】(六)unity4.6Ugui中文教程文档-------概要-UGUI Animation Integration

    原创至上,移步请戳:(六)unity4.6Ugui中文教程文档-------概要-UGUI Animation Integration 5.Animation Integration(动画集成) 动画 ...

  6. 【转】(五)unity4.6Ugui中文教程文档-------概要-UGUI Interaction Components

    原创至上,移步请戳:(五)unity4.6Ugui中文教程文档-------概要-UGUI Interaction Components 4.Interaction Components 本节涵盖了处 ...

  7. 【转】(四)unity4.6Ugui中文教程文档-------概要-UGUI Visual Components

    原创至上,移步请戳:(四)unity4.6Ugui中文教程文档-------概要-UGUI Visual Components 3.Visual Components 有新的组件和游戏对象已添加到uG ...

  8. 【转】(二)unity4.6Ugui中文教程文档-------概要-UGUI Canvas

    原创至上,移步请戳:(二)unity4.6Ugui中文教程文档-------概要-UGUI Canvas UI系统允许您快速.直观地创建用户界面(Ui).这是Unity的新 UI 系统的主要功能介绍. ...

  9. [转](六)unity4.6Ugui中文教程文档-------概要-UGUI Animation Integration

    5.Animation Integration(动画集成) 动画允许控件的所有状态之间相互转换,充分使用unity的动画系统.这是最强大的的转换模式的在处理很多属性的同时可以进行动画. 要使用动画转换 ...

随机推荐

  1. Web 进化

    来源于:http://xitu.github.io/2016/05/11/history-of-web/ 传统后台架构 上古时代 上古时代 123456789101112131415161718192 ...

  2. 得到类所在的jar包路径

    //理论上用class.getProtectionDomain().getCodeSource().getLocation().getFile();比较准.  //不过有两个需要注意的:  //1.返 ...

  3. WordPress固定链接修改后访问文章页面404

    如题, 修改固定链接为自定义结构后, 访问文章页面出现404的nginx错误. 解决:修改nginx.conf配置文件(/usr/local/nginx/conf/nginx.conf). 在serv ...

  4. ios实例开发精品文章推荐(8.14)

    1.iOS源码:俄罗斯方块实现简单的俄罗斯方块游戏.<ignore_js_op> 下载地址:http://www.apkbus.com/android-124628-1-1.html 2. ...

  5. Android开发环境——SDK相关内容汇总

     Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...

  6. Tensorflow CNN入门

    一.概论 以图像识别来举例,比如我们让计算机如何识别一张猫的图片识别出猫呢? 老式的计算机视觉是如何做的呢? 比如OpenCV: 首先理解很多算法,比如如何检测线条(Edge Detection) 如 ...

  7. C# 使用系统方法发送异步邮件

    项目背景: 最近在对几年前的一个项目进行重构,发现发送邮件功能需要一定的时间来处理,而由于发送是同步的因此导致在发送邮件时无法执行后续的操作 实际上发送邮件后只需要将发送结果写入系统日志即可对其他业务 ...

  8. 数十种TensorFlow实现案例汇集:代码+笔记

    这是使用 TensorFlow 实现流行的机器学习算法的教程汇集.本汇集的目标是让读者可以轻松通过案例深入 TensorFlow. 这些案例适合那些想要清晰简明的 TensorFlow 实现案例的初学 ...

  9. solr开发从查询结果集中获取对象数据

    solrJ从查询结果集中获取对象数据. 方案一:自定义转换方式 /** * * SolrDocument与实体类转换 [测试通过] * * @author pudongping * * @param ...

  10. [转] linux(debian)安装USB无线网卡(tp-link TL-WN725N rtl8188eu )

    1: 台式机家里面不想再走线了. 于是去某东买了个USB无线网卡.tp的WN725N  USB,非常小, 和罗技的优联接收器差不多大. 2:  驱动能自己识别是不指望了,既然是usb网卡,插入USB后 ...