Unity UGUI的LayoutElement(布局元素)组件的介绍及使用
Unity UGUI的LayoutElement(布局元素)组件的介绍及使用
1. 什么是LayoutElement组件?
LayoutElement是Unity UGUI中的一个布局元素组件,用于控制UI元素在布局中的大小和位置。它可以用于自动调整UI元素的大小,以适应不同的屏幕分辨率和布局需求。
2. LayoutElement组件的工作原理
LayoutElement组件通过设置一些属性来控制UI元素的布局,包括最小和最大宽度、最小和最大高度、宽度和高度的优先级等。当UI元素所在的布局组件(如HorizontalLayoutGroup或VerticalLayoutGroup)进行布局计算时,会根据LayoutElement的属性来确定UI元素的最终大小和位置。
3. LayoutElement组件的常用属性
- Min Width(最小宽度):UI元素的最小宽度。
- Min Height(最小高度):UI元素的最小高度。
- Preferred Width(首选宽度):UI元素的首选宽度。
- Preferred Height(首选高度):UI元素的首选高度。
- Flexible Width(可伸缩宽度):UI元素的宽度可以根据布局需求进行伸缩。
- Flexible Height(可伸缩高度):UI元素的高度可以根据布局需求进行伸缩。
- Layout Priority(布局优先级):UI元素在布局计算中的优先级,用于确定UI元素的大小和位置。
4. LayoutElement组件的常用函数
- CalculateLayoutInputHorizontal():计算UI元素在水平方向上的布局输入。
- CalculateLayoutInputVertical():计算UI元素在垂直方向上的布局输入。
5. 例子代码
例子1:设置UI元素的最小宽度和最小高度
LayoutElement layoutElement = GetComponent<LayoutElement>();
layoutElement.minWidth = 100;
layoutElement.minHeight = 50;
操作步骤:
- 获取LayoutElement组件。
- 设置最小宽度为100。
- 设置最小高度为50。
注意事项:
- 最小宽度和最小高度的值应根据实际需求进行调整。
例子2:设置UI元素的首选宽度和首选高度
LayoutElement layoutElement = GetComponent<LayoutElement>();
layoutElement.preferredWidth = 200;
layoutElement.preferredHeight = 100;
操作步骤:
- 获取LayoutElement组件。
- 设置首选宽度为200。
- 设置首选高度为100。
注意事项:
- 首选宽度和首选高度的值应根据实际需求进行调整。
例子3:设置UI元素的可伸缩宽度和可伸缩高度
LayoutElement layoutElement = GetComponent<LayoutElement>();
layoutElement.flexibleWidth = 1;
layoutElement.flexibleHeight = 1;
操作步骤:
- 获取LayoutElement组件。
- 设置可伸缩宽度为1。
- 设置可伸缩高度为1。
注意事项:
- 可伸缩宽度和可伸缩高度的值应根据实际需求进行调整。
例子4:设置UI元素的布局优先级
LayoutElement layoutElement = GetComponent<LayoutElement>();
layoutElement.layoutPriority = 1;
操作步骤:
- 获取LayoutElement组件。
- 设置布局优先级为1。
注意事项:
- 布局优先级的值越大,UI元素在布局计算中的优先级越高。
例子5:计算UI元素的布局输入
LayoutElement layoutElement = GetComponent<LayoutElement>();
layoutElement.CalculateLayoutInputHorizontal();
layoutElement.CalculateLayoutInputVertical();
操作步骤:
- 获取LayoutElement组件。
- 调用CalculateLayoutInputHorizontal()函数计算水平方向上的布局输入。
- 调用CalculateLayoutInputVertical()函数计算垂直方向上的布局输入。
注意事项:
- 在需要手动触发布局计算时,可以调用CalculateLayoutInputHorizontal()和CalculateLayoutInputVertical()函数。
参考资料
- Unity官方文档:LayoutElement
Unity UGUI的LayoutElement(布局元素)组件的介绍及使用的更多相关文章
- Unity UGUI
超详细的基础教程传送门:(持续更新中) Unity UGUI之Canvas&EventSystem:http://blog.csdn.net/qq992817263/article/detai ...
- Unity UGUI Layout自动排版组件用法介绍
Unity UGUI布局组件 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...
- Unity3D UGUI强制刷新Layout(布局)组件
UGUI的Layout布局组件确实节省了我们很多代码 如果不使用Layout组件 那么光在计算UI的布局上就要花费很大的功夫 特别是动态生成其组件的时候 当然,Layout组件在大多数时候是非常好用的 ...
- Unity ugui屏幕适配与世界坐标到ugui屏幕坐标的转换
我们知道,如今的移动端设备分辨率五花八门,而开发过程中往往只取一种分辨率作为设计参考,例如采用1920*1080分辨率作为参考分辨率. 选定了一种参考分辨率后,美术设计人员就会固定以这样的分辨率来设计 ...
- Android开发1:基本UI界面设计——布局和组件
前言 啦啦啦~本学期要开始学习Android开发啦~ 博主在开始学习前是完完全全的小白,只有在平时完成老师要求的实验的过程中一步一步学习~从此篇博文起,博主将开始发布Android开发有关的博文,希望 ...
- Unity UGUI —— 无限循环List
还记得大学毕业刚工作的时候是做flash的开发,那时候看到别人写的各种各样的UI组件就非常佩服,后来自己也慢慢尝试着写,发现其实也就那么回事.UI的开发其实技术的成分相对来说不算多,但是一个好的UI是 ...
- 基于Unity·UGUI实现的RecycleList循环列表UI容器
在UI功能开发实践中,列表UI容器是我们经常使用一种UI容器组件.这种组件就根据输入的数据集合生成对应数据项目.从显示的方向来说,一般就分为水平排布和垂直排布的列表容器两种.列表容器为了在有限的界面空 ...
- Unity UGUI图文混排源码(三) -- 动态表情
这里是根据图文混排源码(二)进一步修改的,其他链接也不贴了,就贴一个链接就好了,第一次看这文章的同学可以先去看看其他几篇文章 Unity UGUI图文混排源码(二):http://blog.csdn. ...
- Unity UGUI之Canvas&EventSystem
最近想写一套关于UGUI所有控件的基础使用教程系列,主要是根据本人的使用心得来写的,所以其中可能难以避免会有不正确的地方. 好了进入主题,既然是第一篇,我觉得我有必要先介绍一下UGUI必不可缺的两个组 ...
- Unity UGUI图文混排源码(二)
Unity UGUI图文混排源码(一):http://blog.csdn.net/qq992817263/article/details/51112304 Unity UGUI图文混排源码(二):ht ...
随机推荐
- MySQL InnoDB Architecture 简要介绍
MySQL InnoDB 存储引擎整体架构图: 一.内存存储结构 1.Buffer Pool buffer pool 是主内存中的一块儿存储区域,用于存储访问的表及索引数据.这样从内存中直接访问获取使 ...
- Appweb+ESP学习笔记
Appweb+ESP学习笔记 1.Appweb简介 Appweb HTTP Web服务器是最快的小型Web服务器.这是一个高性能,紧凑的嵌入式网络服务器,具有模块化,安全的核心.它支持广 ...
- Golang每日一库之bcrypt
本文 官方文档: https://pkg.go.dev/golang.org/x/crypto/bcrypt 前言 之前讲过JWT Token https://www.cnblogs.com/zich ...
- [人脸活体检测] 论文: Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision
Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision 论文简介 与人脸生理相关的rppG信号被研究者 ...
- 如何实现Spring中服务关闭时对象销毁执行代码
spring提供了两种方式用于实现对象销毁时去执行操作 1.实现DisposableBean接口的destroy 2.在bean类的方法上增加@PreDestroy方法,那么这个方法会在Disposa ...
- 一文搞懂 x64 IA-64 AMD64 Inte64 IA-32e 架构之间的关系
想要搞清楚 x64.IA64.AMD64 指令集之间的关系,就要先了解 Intel 和 AMD 这两家公司在生产处理器上的发展历史. x86 处理器 1978年 Intel 生产了它的第一款 16bi ...
- 文心一言 VS chatgpt (12)-- 算法导论3.1 6~7题
六.证明:一个算法的运行时间为θ(g(n))当且仅当其最坏情况运行时间为O(g(n)),且其最好情况运行时间为Ω(g(n)) . 文心一言: chatgpt: 要证明「一个算法的运行时间为θ(g(n) ...
- 2023-01-15:销售员。编写一个SQL查询,报告没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。以 任意顺序 返回结果表。 DROP TABLE IF EXISTS `com
2023-01-15:销售员.编写一个SQL查询,报告没有任何与名为 "RED" 的公司相关的订单的所有销售人员的姓名.以 任意顺序 返回结果表. DROP TABLE IF EX ...
- 2022-06-23:给定一个非负数组,任意选择数字,使累加和最大且为7的倍数,返回最大累加和。 n比较大,10的5次方。 来自美团。3.26笔试。
2022-06-23:给定一个非负数组,任意选择数字,使累加和最大且为7的倍数,返回最大累加和. n比较大,10的5次方. 来自美团.3.26笔试. 答案2022-06-23: 要i还是不要i,递归. ...
- 2022-06-17:给定一个数组arr,含有n个数字,可能有正、有负、有0, 给定一个正数k。 返回所有子序列中,累加和最大的前k个子序列累加和。 假设K不大,怎么算最快? 来自Amazon。
2022-06-17:给定一个数组arr,含有n个数字,可能有正.有负.有0, 给定一个正数k. 返回所有子序列中,累加和最大的前k个子序列累加和. 假设K不大,怎么算最快? 来自Amazon. 答案 ...