当前位置: 首页 > article >正文

Unity组件——LayoutElement (UI自动布局组件)说明

声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。


LayoutElement (UI自动布局组件)说明


文章目录

  • LayoutElement (UI自动布局组件)说明
    • 一.开发环境
    • 二.问题描述
    • 三.详情
    • 1.优先级: Min >Preferred >Flexible
    • 2.Min为最小值,可超出父容器大小.
    • 3.Preferred
      • 3.1满足Min后余量显示的一个实际值(如果父容器有足够容量).
      • 3.2 **如果父容器宽度够,则按照实际显示**,
      • 3.3 **如果父容器宽度不够,则按比例显示**
    • 4.FlexibleWidth
      • 4.1如果父容器有足够宽度,则子容器自动填充比例.
      • 4.2未设置,则不自适应如下图四
      • 4.3设置比例1:2 则
    • 四.总结


一.开发环境

unity无限制
VS无限制


二.问题描述

LayoutElement (UI自动布局组件)属性Min Width/Preferred Width/Flexible Width说明及计算方法.


三.详情

1.优先级: Min >Preferred >Flexible

说明:按优先级,先满足优先级高的.
如图一

2.Min为最小值,可超出父容器大小.

如果子物体Min 大于父物体,则可以超出父物体如图一


在这里插入图片描述
图一

3.Preferred

3.1满足Min后余量显示的一个实际值(如果父容器有足够容量).

3.2 如果父容器宽度够,则按照实际显示,

如图父宽50两个子物体preferredWidth各为20,实际显示为20,最右侧父容器剩10宽度.如图二

在这里插入图片描述

3.3 如果父容器宽度不够,则按比例显示

例如: 先Preferred减去Min,剩余按各自占比显示,

如图父宽40,两子MinWidth为10 ,两PreferredWidth为20,80.则各自占比 (20-10)/(80-10)=1/7,实际宽度

左侧:(40-20)/(1+7)*1+10=2.5+10=12.5;
40-20:先减去MinWidth的固定宽度
1+7:两者PreferredWidth减去MinWidth后占比.
10:补偿各自的MinWidth宽度.
右侧:(40-20)/(1+7)*7+10=17.5+10=27.5
如下图三
在这里插入图片描述

4.FlexibleWidth

4.1如果父容器有足够宽度,则子容器自动填充比例.

4.2未设置,则不自适应如下图四

4.3设置比例1:2 则

左侧宽度:(60-(20+20))/3+20=6.666+20=26.666
(父容器宽-两个子容器PreferredWidth宽)/占比+PreferredWidth宽

在这里插入图片描述
计算方法是自己根据实际值推测的.

四.总结

保持饥饿,保持愚蠢.
这世界唯一能够相信的就是你付出的努力和你走过的路.


http://www.kler.cn/a/6780.html

相关文章:

  • 探究IOC容器刷新环节初始化前的预处理
  • freertos任务调度学习
  • 零基础Java第二十二期:异常(二)
  • 【动手学深度学习Pytorch】6. LeNet实现代码
  • ssh无法连接Ubuntu
  • 【WPF】Prism库学习(一)
  • Springmvc程序
  • Unity Animation -- 导入动画
  • QComboBox 和 QPlainTextEdit
  • Java阶段一Day15
  • SuperMap GIS基础产品三维GIS FAQ集锦(1)
  • Cannot read properties of undefined (reading ‘uri‘)
  • 怎么将图文、视频生成一个二维码?多内容在线生成二维码的方法
  • [Netty] Selector选择器以及Reactor实现 (七)
  • Pycharm创建自定义代码片段
  • Sentinel1.8.6规则持久化到Nacos2.2.0集群记录
  • 代码随想录训练营第49天|121.买卖股票的最佳时机、122.买卖股票的最佳时机Ⅱ
  • ES 聚合查询(四)-cnblog
  • Linux0.11 内核体系结构(八)
  • 【AUTOSAR】【Lin通信】LinTrcv
  • Linux基础操作 常用命令 Centos
  • 【VUE】vue打包后引入js和css用相对路径引入
  • C++编程大师之路:从入门到精通-通讯录管理系统
  • SpringBoot——SB整合mybatis案例(残缺版本)第四集(真*大结局)
  • Edge集锦没有同步按钮 - 待解决
  • JVM内存区域面试详解