UGUI自動布局 LayoutGroups

2021-07-24 03:15:18 字數 991 閱讀 8107

layoutgroups 同時是layoutcontrol和layoutelement。它先監聽各個子物件提供的大小的資訊。然後就可以決定它自身的最小,適合大小的資訊。同時它提供出了自己的最合適和最小的大小資訊。

如果這個時候,layoutgroups上同時有contentsizefitter元件。該元件監聽到了layoutgroups提供的自身的最小和最合適的大小的資訊了。根據contentsizefitter的設定,contentsizefitter元件就控制layoutgroups的大小了。(layoutcontrol控制的是自身的大小)。

layoutgroups的大小確定了,它就去反過來根據自己的可用空間去分配位置和大小給子物件了。

所以,如果我們希望按鈕的大小通他的文字框大小一樣大。我們可以這樣做

1.首先,給button的gameobject新增乙個contentsizefitter。選擇條件是preferred

2.然後,再新增乙個layoutgroup。比如horizontal layout group。

3.搞定

原理 1.button有乙個子物件text。子物件text會提供最小大小和最適合大小的資訊。

2.layoutgroup收到了子物件text的最小的和最合適的大小的資訊了,就可以確定出button自己的最小的和最合適的大小的資訊了

3.button上又有contentsizefitter元件。該元件作用就是根據物體本身提供的大小資訊來控制物體的大小的。所以它收到了button自己的最小和最合適的資訊了。然後就控制

button的大小了。這樣button大小就和text大小一樣了

效果如下

儲存到相簿

2015-12-3 17:03 上傳

Unity筆記 UGUI的自動布局功能

一些recttransform的物體 ugui元素 已經實現了ilayoutelement介面,如image。如果乙個recttransform的物體 ugui元素 的其中乙個元件實現了ilayoutelement介面,同時這個recttransform的物體又手動新增了乙個layoutelemen...

Unity筆記 UGUI的自動布局功能

一些recttransform的物體 ugui元素 已經實現了ilayoutelement介面,如image。如果乙個recttransform的物體 ugui元素 的其中乙個元件實現了ilayoutelement介面,同時這個recttransform的物體又手動新增了乙個layoutelemen...

UGUI技術之LayoutGroup布局實現詳解

繼續學習unity4.6,unity的layoutgroup分為三種,horizontal layout group 水平布局 vertical layout group 垂直布局 grid layout group 網格布局 以前ngui沒有這東西都是自己寫工具實現的。為什麼我們要布局?我舉個例子...