LayoutElement
逆引き
要素の数が動的に変わるリスト
縦向きリストの要素の数が動的に変わるUI
子の数に応じてリスト自体のサイズ(背景)を変更したい
子の縦は子が決める
子の横は自分が決める
code:prefab
ListBGImage (VerticalLayoutGroup, LayoutElement, ContentSizeFitter)
|- ListItem (LayoutElement)
|- ListItem
ListBGImag
VerticalLayoutGroup
縦に並べる
子の横サイズを制御したいなら、ControlChildSizeのwidthをenableにする
force expandは使わない
LayoutElement
自身のminサイズとかを指定するのに使う
ContentSizeFitter
Prefferedにすると、LayoutElement -> Rect の反映をやってくれる(LayoutGroupの親がいる場合は不要)
これで背景の縦を伸ばす
ListItem
LayoutElementで制御
縦や横は適当に指定していいが、親がwidthを動かす場合がある
ヘッダー、ボディ、フッターが固定比率でレスポンシブな画面
https://gyazo.com/02448c1935dca6a2b345fd7e8f0a309d
code:Hierarchy
Canvas
|- VerticalLayout
|- Header
|- Body
|- Footer
Canvas
ScreenSpace Overlayにして、画面一杯一杯にする
VerticalLayout
Canvasと同じサイズになるようにアンカーをセットする
VerticalLayoutコンポネをアタッチする
Control Child Size: widthとheightをon
Child Force Expand: widthをon
https://gyazo.com/00708a05bea6b20feab63d2c26197e95
Header, Body, Footer
LayoutElementをアタッチ
Flexible Heightをそれぞれ以下のようにする
Header: 0.1
Body: 0.8
Footer: 0.1
HeaderとFooterは固定幅にしたい場合は、Flexibleにせずに、MinHeightとPreferredHeightをセットすると、Bodyだけがミョンミョン動く(この場合、BodyはFlexible Heightを1にしていいと思う)