UGUI簡單易懂理解Layout Element組件

Layout Element組件需要結(jié)合Layout Group的Control Child Size功能使用,以Height為例;
假設(shè)父節(jié)點(diǎn)A的Height=100,其下有兩個Child(a、b)
Min Height:最小高度
實(shí)際高度<Min Height時,強(qiáng)制以Min Height為準(zhǔn),這個準(zhǔn)則最高;
Preferred Height:期望高度
空間足夠分配時,Height=Math.Max(MinHeight,PreferredHeight),即如果PreferredHeight<MinHeight,以MinHeight為準(zhǔn);
全部Child的PreferredHeight之和,不能超過父節(jié)點(diǎn)高度;
案例:a的Preferred Height=100,b的Preferred Height=100,那么就會按比重分配,a、b的Height均為50,即Height=A_Height * a_PreferredHeight/(a_PreferredHeight + b_PreferredHeight)
如果同時設(shè)置Min Height和Preferred Height,兩種情況:
全部Child的Preferred Height之和,小于父節(jié)點(diǎn)高度,則相安無事,a、b各按自己的Preferred Height設(shè)置,但Preferred Height低于Min Height,以Min Height為準(zhǔn);
全部Child的Preferred Height之和,大于父節(jié)點(diǎn)高度,按計(jì)算公式Height=A_Height * (a_PreferredHeight+a_MinHeight)/(a_PreferredHeight + a_MinHeight + b_PreferredHeight),為什么把PreferredHeight和MinHeight疊加計(jì)算,我也不知道;
Flexible Height:剩余空間填滿比重
全部Child的Preferred Height之和,小于父節(jié)點(diǎn)高度,即父節(jié)點(diǎn)還有空間沒有占滿,就會把剩余空間按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之和,大于父節(jié)點(diǎn)高度,沒有剩余空間,F(xiàn)lexible Height不起作用;
既然是做文字游戲,排版可是重點(diǎn)技巧,Layout Group和Layout Element梳理之后,排版算是比較得心應(yīng)手了!
鏈接:https://www.dianjilingqu.com/496839.html