赞
踩
Horizontal Layout Group | Unity UI | 1.0.0
HorizontalLayoutGroup是Unity UGUI中的一种布局组件,用于在水平方向上对子物体进行排列和布局。它可以根据一定的规则自动调整子物体的位置和大小,使它们在水平方向上均匀分布。
Property: | Function: |
---|---|
Padding | The padding inside the edges of the layout group. |
Spacing | The spacing between the layout elements. |
Child Alignment | The alignment to use for the child layout elements if they don't fill out all the available space. |
Control Child Size | Whether the Layout Group controls the width and height of its child layout elements. |
Use Child Scale | Whether the Layout Group considers the scale of its child layout elements when sizing and laying out elements. Width and Height correspond to the Scale > X and Scale > Y values in each child layout element's Rect Transform component. You cannot animate the Scale values using the Animator Controller |
Child Force Expand | Whether to force the child layout elements to expand to fill additional available space. |
HorizontalLayoutGroup组件通过以下步骤实现水平布局:
Spacing
:子物体之间的间距。ChildForceExpandWidth
:是否强制子物体扩展宽度以填充整个水平布局。ChildForceExpandHeight
:是否强制子物体扩展高度以填充整个水平布局。ChildControlWidth
:是否控制子物体的宽度。ChildControlHeight
:是否控制子物体的高度。CalculateLayoutInputHorizontal()
:计算水平布局的输入。CalculateLayoutInputVertical()
:计算垂直布局的输入。SetLayoutHorizontal()
:设置水平布局。SetLayoutVertical()
:设置垂直布局。- using UnityEngine;
- using UnityEngine.UI;
-
- public class Example : MonoBehaviour
- {
- public HorizontalLayoutGroup layoutGroup;
- public GameObject childPrefab;
-
- void Start()
- {
- for (int i = 0; i < 3; i++)
- {
- GameObject child = Instantiate(childPrefab, layoutGroup.transform);
- child.GetComponent<Text>().text = "Child " + (i + 1);
- }
- }
- }
操作步骤:
- using UnityEngine;
- using UnityEngine.UI;
-
- public class Example : MonoBehaviour
- {
- public HorizontalLayoutGroup layoutGroup;
- public GameObject childPrefab;
-
- void Start()
- {
- layoutGroup.spacing = 20f;
-
- for (int i = 0; i < 3; i++)
- {
- GameObject child = Instantiate(childPrefab, layoutGroup.transform);
- child.GetComponent<Text>().text = "Child " + (i + 1);
- }
- }
- }
操作步骤:
- using UnityEngine;
- using UnityEngine.UI;
-
- public class Example : MonoBehaviour
- {
- public HorizontalLayoutGroup layoutGroup;
- public GameObject childPrefab;
-
- void Start()
- {
- layoutGroup.childForceExpandWidth = true;
-
- for (int i = 0; i < 3; i++)
- {
- GameObject child = Instantiate(childPrefab, layoutGroup.transform);
- child.GetComponent<Text>().text = "Child " + (i + 1);
- }
- }
- }
操作步骤:
- using UnityEngine;
- using UnityEngine.UI;
-
- public class Example : MonoBehaviour
- {
- public HorizontalLayoutGroup layoutGroup;
- public GameObject childPrefab;
-
- void Start()
- {
- layoutGroup.childControlWidth = false;
- layoutGroup.childControlHeight = false;
-
- for (int i = 0; i < 3; i++)
- {
- GameObject child = Instantiate(childPrefab, layoutGroup.transform);
- child.GetComponent<Text>().text = "Child " + (i + 1);
- }
- }
- }
操作步骤:
- using UnityEngine;
- using UnityEngine.UI;
-
- public class Example : MonoBehaviour
- {
- public HorizontalLayoutGroup layoutGroup;
- public GameObject childPrefab;
-
- void Start()
- {
- layoutGroup.childAlignment = TextAnchor.MiddleCenter;
-
- for (int i = 0; i < 3; i++)
- {
- GameObject child = Instantiate(childPrefab, layoutGroup.transform);
- child.GetComponent<Text>().text = "Child " + (i + 1);
- }
- }
- }
操作步骤:
作者:AlianBlank
链接:https://www.jianshu.com/p/c5cdb16a7562
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。