天天看点

UGUI系列——Unity Auto Layout的使用(二)

UGUI系列其他博文,可通过导航帖查看

Layout Element的应用

当物体被Layout组件控制时,你是无法控制RectTransform的Width和Height的,Layout Element便是为了解决这个状况,让layout变得更灵活。

下面介绍Layout Element参数,这里以Vertical Layout Group为例:

MinWidth/MinHeight:如同名字一样,它是用来限制子物体的Width/Height不能小于你所设置的值

Preferred Width/Preferred Height:首选宽度/首选高度,就是当空间足够时,物体的width/height会被设置成Preferred Width/Preferred Height的值

如图:

UGUI系列——Unity Auto Layout的使用(二)

勾选Child Controls Size,让Layout组件控制子物体,千万不要勾选自适应Child Force Expand,不然设置的首选参数(Preferred Width/Preferred Height)不会起作用

UGUI系列——Unity Auto Layout的使用(二)

如上如,这样,你就可以控制这个物体的宽高了

UGUI系列——Unity Auto Layout的使用(二)

这个首选宽度的前提是空间足够,我的game视图的尺寸设置成了750*1280,

所以上图的Preferred Width是800,但是物体的宽度是750

Flexible Width/Flexible Height:灵活宽度/灵活高度,这个参数的值不能为负。

这里以Flexible Height为例

Vertical Layout Group设置如下

UGUI系列——Unity Auto Layout的使用(二)

三个子物体都带了Layout Element,设置如下

UGUI系列——Unity Auto Layout的使用(二)

layout组件会把所有子物体按照Flexible Height的比例分配高度

如:

图中父物体Vertical 的高即为总高度TotalHeight,现在三个子物体的Flexible Height都是1,那个每个子物体就占总高的 1/(1+1+1)即为三分之一

所以效果如下图

UGUI系列——Unity Auto Layout的使用(二)

那么,我们修改red的Layout Element 的参数如下

UGUI系列——Unity Auto Layout的使用(二)

这个时候Red子物体的Height应该占用 0.5/(0.5+1+1)即为 五分之一,如图高为256

以上便是Layout Element的用法。

我会在我的公众号上推送新的博文,也可以帮大家解答问题

微信公众号 Andy and Unity 搜索名称或扫描二维码

UGUI系列——Unity Auto Layout的使用(二)

希望我们能共同成长,共同进步