推薦閱讀:
Layout Group
首先介紹一下Layout Group,unity的LayoutGroup分為三種,
Horizontal Layout Group(水平布局)
Padding:間隔
CellSize:子物體大小
Spacing:子物體之間的間隔
Start Corner:子物體排列的角度
Start Axis:子物體排列方向
Child Alignment:子物體整體位於什么方位
Constraint 約束:Flexible靈活的( 按照父物體長寬自動橫豎行 ) Fixed Column Count 指定列數 Fixed Row Count 指定行數
Vertical Layout Group(垂直布局)
Grid Layout Group (網格布局)
child force expand:是否強制拉伸長寬到父物體大小
單是一個布局組件很難實現想要的效果,還可以再添加一個Content Size Fitter 組件配合使用(只是用來過濾尺寸,沒有設置的選項默認為0處理,比如選擇Min Width ,但是子物體上沒有設置過Min Width ,那么它就沒有寬度)。
Content Size Fitter 內容大小過濾 組件
Horizontal Fit:子物體橫向適配(Unconstrained 不受約束 Preferred Size 首選尺寸 Min Size 最小尺寸)
Vertical Fit:子物體豎向適配
Layout Element 布局元素 組件( 子物體上需要添加 )
Min Width:最小寬度( 不受父物體寬度影響 )
Min Height:最小高度
Preferred Width:首選寬度( 最大不能超過父物體寬度 )
Preferred Height:首選高度
Flexible Width:靈活寬度 ( 只有0和大於0兩種 大於0的話會自動補全寬度)
Flexible Height:靈活高度
需求:
物品居中對齊,且間距不變。
例如:
當有兩個物品時:
當有四個物品時:
實現
注意:需要重點注意的是改gameObject的width不能比所有子物體的的width之和小
Spacing 表示 cell之間的距離。
Child Alignment 表示對齊方式。
Child Controls Size 表示是否控制(改變)子物體大小
Child Force Expand 表示 自適應 寬 和高
案例資源鏈接:layoutGroup.unitypackage
同樣使用改組件,實現自動收縮功能:
收縮前是這樣子的:
收縮后是這樣子的:
實現:
標題:
滑動列表: