1.jpg
UGUI如果要實現如上圖的布局效果,很可惜,UGUI沒有自帶這個功能,UGUI的布局無非就是Horizontal Layout Group
、Vertical Layout Group
、Grid Layout Group
三種布局。但是這三種布局都是很平凡的布局,沒有帶有這種特殊布局的。唯一和它相像的就是Grid Layout Group
,但是Grid Layout Group
要求它所有子對象都是定寬定高的。像這樣每個子對象寬高都不一樣就不好辦了。
不過可以通過FlowLayoutGroup
這個插件來實現這個功能,這個也稱不上是插件,因為就是一個純源碼的Component。先上這個Demo的源碼吧。
http://www.weibut.com/download/134
不知道為何下載下來沒有附帶腳本,發一個基于百度盤的鏈接:FlowLayoutGroup.unitypackage
用法很簡單,就是和UGUI自帶的布局組件一樣的。
2.jpg
在Canvas
下新建一個空物體,添加FlowLayoutGroup
腳本,然后在這個物體下添加Image
,并為Image掛上Horizontal Layout Group
腳本
3.jpg
再往Image下添加一個Text組件,現在就可以輸入Text的文本,來改變Image的寬度實現瀑布流效果。
解釋為什么要在Image上添加Horizontal Layout Group
腳本,是為了實現更具Text文字長度來動態改變Image的寬度。
如果有什么不懂的具體可以看源碼,源碼里面包括了FlowLayoutGroup
腳本。