写这个自己都感觉自己辣鸡。
先根据大佬说说组件吧。
Horizontal Layout Group是HorizontalOrVerticalLayoutGroup的子类,HorizontalOrVerticalLayoutGroup又是LayoutGroup的子类
图中包括以下属性:
1、Padding:RectOffset类型,矩形偏移
源码如下:
public sealed class RectOffset
{
public RectOffset();
public RectOffset(int left, int right, int top, int bottom);
~RectOffset();
public int bottom { get; set; } //底边缘
public int horizontal { get; } //水平
public int left { get; set; } //左边缘
public int right { get; set; } //右边缘
public int top { get; set; } //顶边缘
public int vertical { get; } //垂直
public Rect Add(Rect rect); //向一个Rect添加边框偏移
public Rect Remove(Rect rect); //从一个Rect移除边框偏移
public override string ToString();
}
Child Alignment:TextAnchor枚举类型,文本锚点
源码如下:
public enum TextAnchor
{
UpperLeft = 0, //上左
UpperCenter = 1, //上中
UpperRight = 2, //上右
MiddleLeft = 3, //中左
MiddleCenter = 4, //中中
MiddleRight = 5, //中右
LowerLeft = 6, //下左
LowerCenter = 7, //下中
LowerRight = 8 //下右
}
Child Force Expand:有两个可选
(1)Width:是否强行扩大布局元素宽度以填补额外可用的空间
(2)Height:是否强行扩大布局元素高度以填补额外可用的空间
勾选Width,填补宽度 ,勾选Height,填补高度 ,勾选Width和Height,填补宽度和高度
实际开发中,经常结合Content Size Fitter组件一起使用
Horizontal Fit和Vertical Fit均为UI.ContentSizeFitter.FitMode枚举类型,有三个值可选:Unconstrained,MinSize,PreferredSize
Unconstrained:不执行任何调整
MinSize:调整内容的最小大小
PreferredSize:调整内容的首选大小,也就是会自动根据内容来调整大小
使用Content Size Fitter组件,RectTransform组件会发生响应的变化
默认情况下RectTransform组件的Width 和 Height 可以在编辑模式下就行修改,当Horizontal Fit不为Unconstrained时,Width不可修改,同理,Vertical Fit不为Unconstrained时,Height不可修改。
代码中,如果需要获取这个gameobject的Width 和Height,下图中提供了Preferred Height和Preferred Width的获取方式
右下角可以看出数据的Source是Text组件,那么我们就可以通过GetComponent().PreferredWidth和PreferredHeight来获得。
当然不是所有情况,这两个数据的source都是Text!!!