unity grid layout group cell size能动态改变吗

之上的系統自動調整一個或多個的元素大小、位置、間格,又分為 Layout Controllers(父物件) 與 Layout Elements(子物件) 兩部分一個簡單的 Auto Layout 架構如下 (此處介紹理論,實作留到後面)

代表著每個元素的大小擁有資訊如下:

從以下圖片可以看出圖片寬度的增長方式 (此處介紹理論,實作留到後面)

比較特別的是 Flexible他是代表著整個大小的比例,如果 Layout 丅有2個物體分別給 Flexible 設定為 0.3 與 0.7,那比例就會變成下圖 (3:7)

水平方向(Width) 排列子物件

Child Alignment:當沒有填滿全部空間時子物件對齊位置

E.父物件下建立5個 Button(子物件),完成後如下當大小改變時會自動分配子物件大小

G.將 Padding 數值調整如圖,可以看出填充區域

H.將 Spacing 數值調整如圖可以看出元素區間

■ 複習一丅子物件大小分配方式,如果不清楚請回去上面 Layout Elements 部分

3.如果還有額外空間分配剩下 Flexible Size,如下所示

Start Corner:開始排列的角落(位置)又分為 “左上”、”右上”、”左下”、”右下”,請仔細看元素數字

Start Axis:”水平” 或是 “垂直” 排列請仔細看元素數字

Child Alignment:當沒有填滿全部空間時,子物件對齊位置

Flexible:自動根據大小彈性排列

如果我們現在有一個需求必需要讓 “父物件大小” 根據 “子物件大小” 進行縮放,完成如下 (方便明顯看出父物件大小增加黑色外框)

這時如果增加 Button(子物件),上面有提到Horizontal Layout Group 會根據子物件的 Layout Element 進行分配子物件大小,而不會修改父物件本身的大小如下所示 (方便明顯看出父物件大小,增加黑色外框)

G.此時如果 Button 複製增加父物件本身的大小也會跟著改變,如下所示

H.調整父物件的 pivot可以控制縮放方向,如下所示

Fit In Parent:依據比例將 寬高、位置、anchors自動調整使此圖形大小在父物件中完全貼齊,此模式可能不會包覆所有空間

調整比唎 (方便明顯看出父物件增加黑底)

調整父物件大小物體會依據比例貼齊父物件

Envelope Parent:依據比例將 寬高、位置、anchors自動調整,使此圖形大小完全包覆父物件此模式可能會超出空間

調整比例 (方便明顯看出父物件增加黑框)

調整父物件大小,物體會依據比例包覆父物件

Auto Layout System 可以快速、方便的排列多個 UI當大小改變時會自動調整內容,也能應用在多層崁套下在日後調整與修改上也是非常方便與直覺,是 UI 系統中必學的功能之一 !!

我要回帖

 

随机推荐