欢迎光临散文网 会员登陆 & 注册

UGUI简单易懂理解Layout Element组件

2022-08-24 11:53 作者:限量版范儿  | 我要投稿


Layout Element组件需要结合Layout Group的Control Child Size功能使用,以Height为例;

假设父节点A的Height=100,其下有两个Child(a、b)

Min Height:最小高度

  • 实际高度<Min Height时,强制以Min Height为准,这个准则最高;

Preferred Height:期望高度

  • 空间足够分配时,Height=Math.Max(MinHeight,PreferredHeight),即如果PreferredHeight<MinHeight,以MinHeight为准;

  • 全部Child的PreferredHeight之和,不能超过父节点高度;

案例:a的Preferred Height=100,b的Preferred Height=100,那么就会按比重分配,a、b的Height均为50,即Height=A_Height * a_PreferredHeight/(a_PreferredHeight + b_PreferredHeight)

  • 如果同时设置Min Height和Preferred Height,两种情况:

  1. 全部Child的Preferred Height之和,小于父节点高度,则相安无事,a、b各按自己的Preferred Height设置,但Preferred Height低于Min Height,以Min Height为准;

  2. 全部Child的Preferred Height之和,大于父节点高度,按计算公式Height=A_Height * (a_PreferredHeight+a_MinHeight)/(a_PreferredHeight + a_MinHeight + b_PreferredHeight),为什么把PreferredHeight和MinHeight叠加计算,我也不知道;

Flexible Height:剩余空间填满比重

  • 全部Child的Preferred Height之和,小于父节点高度,即父节点还有空间没有占满,就会把剩余空间按Flexible Height比重分配;

案例:a的Preferred Height=50、Flexible Height=1,b的Preferred Height=30、Flexible Height=3,则还剩余20高度,20高度再按1/4和3/4比例分配给a和b,最终a_Height:50+5=55,b_Height:30+15=45,很好理解;

  • 全部Child的Preferred Height之和,大于父节点高度,没有剩余空间,Flexible Height不起作用;

既然是做文字游戏,排版可是重点技巧,Layout Group和Layout Element梳理之后,排版算是比较得心应手了!

链接:https://www.dianjilingqu.com/496839.html

UGUI简单易懂理解Layout Element组件的评论 (共 条)

分享到微博请遵守国家法律