docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class LayoutGroup

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    UIBehaviour
    LayoutGroup
    GridLayoutGroup
    HorizontalOrVerticalLayoutGroup
    Implements
    ILayoutElement
    ILayoutGroup
    ILayoutController
    Inherited Members
    UIBehaviour.Awake()
    UIBehaviour.Start()
    UIBehaviour.OnDestroy()
    UIBehaviour.IsActive()
    UIBehaviour.Reset()
    UIBehaviour.OnBeforeTransformParentChanged()
    UIBehaviour.OnTransformParentChanged()
    UIBehaviour.OnCanvasGroupChanged()
    UIBehaviour.OnCanvasHierarchyChanged()
    UIBehaviour.IsDestroyed()
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.didStart
    MonoBehaviour.didAwake
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.CompareTag(TagHandle)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.UI
    Assembly: UnityEngine.UI.dll
    Syntax
    [DisallowMultipleComponent]
    [ExecuteAlways]
    [RequireComponent(typeof(RectTransform))]
    public abstract class LayoutGroup : UIBehaviour, ILayoutElement, ILayoutGroup, ILayoutController

    Constructors

    LayoutGroup()

    Declaration
    protected LayoutGroup()

    Fields

    m_ChildAlignment

    Declaration
    [SerializeField]
    protected TextAnchor m_ChildAlignment
    Field Value
    Type Description
    TextAnchor

    m_Padding

    Declaration
    [SerializeField]
    protected RectOffset m_Padding
    Field Value
    Type Description
    RectOffset

    m_Tracker

    Declaration
    protected DrivenRectTransformTracker m_Tracker
    Field Value
    Type Description
    DrivenRectTransformTracker

    Properties

    childAlignment

    The alignment to use for the child layout elements in the layout group.

    Declaration
    public TextAnchor childAlignment { get; set; }
    Property Value
    Type Description
    TextAnchor
    Remarks

    If a layout element does not specify a flexible width or height, its child elements many not use the available space within the layout group. In this case, use the alignment settings to specify how to align child elements within their layout group.

    flexibleHeight

    See LayoutElement.flexibleHeight

    Declaration
    public virtual float flexibleHeight { get; }
    Property Value
    Type Description
    float

    flexibleWidth

    See LayoutElement.flexibleWidth

    Declaration
    public virtual float flexibleWidth { get; }
    Property Value
    Type Description
    float

    layoutPriority

    See LayoutElement.layoutPriority

    Declaration
    public virtual int layoutPriority { get; }
    Property Value
    Type Description
    int

    minHeight

    See LayoutElement.minHeight

    Declaration
    public virtual float minHeight { get; }
    Property Value
    Type Description
    float

    minWidth

    See LayoutElement.minWidth

    Declaration
    public virtual float minWidth { get; }
    Property Value
    Type Description
    float

    padding

    The padding to add around the child layout elements.

    Declaration
    public RectOffset padding { get; set; }
    Property Value
    Type Description
    RectOffset

    preferredHeight

    See LayoutElement.preferredHeight

    Declaration
    public virtual float preferredHeight { get; }
    Property Value
    Type Description
    float

    preferredWidth

    See LayoutElement.preferredWidth

    Declaration
    public virtual float preferredWidth { get; }
    Property Value
    Type Description
    float

    rectChildren

    Declaration
    protected List<RectTransform> rectChildren { get; }
    Property Value
    Type Description
    List<RectTransform>

    rectTransform

    Declaration
    protected RectTransform rectTransform { get; }
    Property Value
    Type Description
    RectTransform

    Methods

    CalculateLayoutInputHorizontal()

    After this method is invoked, layout horizontal input properties should return up-to-date values. Children will already have up-to-date layout horizontal inputs when this methods is called.

    Declaration
    public virtual void CalculateLayoutInputHorizontal()

    CalculateLayoutInputVertical()

    After this method is invoked, layout vertical input properties should return up-to-date values. Children will already have up-to-date layout vertical inputs when this methods is called.

    Declaration
    public abstract void CalculateLayoutInputVertical()

    GetAlignmentOnAxis(int)

    Returns the alignment on the specified axis as a fraction where 0 is left/top, 0.5 is middle, and 1 is right/bottom.

    Declaration
    protected float GetAlignmentOnAxis(int axis)
    Parameters
    Type Name Description
    int axis

    The axis to get alignment along. 0 is horizontal and 1 is vertical.

    Returns
    Type Description
    float

    The alignment as a fraction where 0 is left/top, 0.5 is middle, and 1 is right/bottom.

    GetStartOffset(int, float)

    Returns the calculated position of the first child layout element along the given axis.

    Declaration
    protected float GetStartOffset(int axis, float requiredSpaceWithoutPadding)
    Parameters
    Type Name Description
    int axis

    The axis index. 0 is horizontal and 1 is vertical.

    float requiredSpaceWithoutPadding

    The total space required on the given axis for all the layout elements including spacing and excluding padding.

    Returns
    Type Description
    float

    The position of the first child along the given axis.

    GetTotalFlexibleSize(int)

    The flexible size for the layout group on the given axis.

    Declaration
    protected float GetTotalFlexibleSize(int axis)
    Parameters
    Type Name Description
    int axis

    The axis index. 0 is horizontal and 1 is vertical.

    Returns
    Type Description
    float

    The flexible size

    GetTotalMinSize(int)

    The min size for the layout group on the given axis.

    Declaration
    protected float GetTotalMinSize(int axis)
    Parameters
    Type Name Description
    int axis

    The axis index. 0 is horizontal and 1 is vertical.

    Returns
    Type Description
    float

    The min size

    GetTotalPreferredSize(int)

    The preferred size for the layout group on the given axis.

    Declaration
    protected float GetTotalPreferredSize(int axis)
    Parameters
    Type Name Description
    int axis

    The axis index. 0 is horizontal and 1 is vertical.

    Returns
    Type Description
    float

    The preferred size.

    OnDidApplyAnimationProperties()

    Callback for when properties have been changed by animation.

    Declaration
    protected override void OnDidApplyAnimationProperties()
    Overrides
    UIBehaviour.OnDidApplyAnimationProperties()

    OnDisable()

    Declaration
    protected override void OnDisable()
    Overrides
    UIBehaviour.OnDisable()

    OnEnable()

    Declaration
    protected override void OnEnable()
    Overrides
    UIBehaviour.OnEnable()

    OnRectTransformDimensionsChange()

    This callback is called when the dimensions of an associated RectTransform change. It is always called before Awake, OnEnable, or Start. The call is also made to all child RectTransforms, regardless of whether their dimensions change (which depends on how they are anchored).

    Declaration
    protected override void OnRectTransformDimensionsChange()
    Overrides
    UIBehaviour.OnRectTransformDimensionsChange()

    OnTransformChildrenChanged()

    Declaration
    protected virtual void OnTransformChildrenChanged()

    OnValidate()

    Declaration
    protected override void OnValidate()
    Overrides
    UIBehaviour.OnValidate()

    SetChildAlongAxis(RectTransform, int, float)

    Set the position and size of a child layout element along the given axis.

    Declaration
    protected void SetChildAlongAxis(RectTransform rect, int axis, float pos)
    Parameters
    Type Name Description
    RectTransform rect

    The RectTransform of the child layout element.

    int axis

    The axis to set the position and size along. 0 is horizontal and 1 is vertical.

    float pos

    The position from the left side or top.

    SetChildAlongAxis(RectTransform, int, float, float)

    Set the position and size of a child layout element along the given axis.

    Declaration
    protected void SetChildAlongAxis(RectTransform rect, int axis, float pos, float size)
    Parameters
    Type Name Description
    RectTransform rect

    The RectTransform of the child layout element.

    int axis

    The axis to set the position and size along. 0 is horizontal and 1 is vertical.

    float pos

    The position from the left side or top.

    float size

    The size.

    SetChildAlongAxisWithScale(RectTransform, int, float, float)

    Set the position and size of a child layout element along the given axis.

    Declaration
    protected void SetChildAlongAxisWithScale(RectTransform rect, int axis, float pos, float scaleFactor)
    Parameters
    Type Name Description
    RectTransform rect

    The RectTransform of the child layout element.

    int axis

    The axis to set the position and size along. 0 is horizontal and 1 is vertical.

    float pos

    The position from the left side or top.

    float scaleFactor

    SetChildAlongAxisWithScale(RectTransform, int, float, float, float)

    Set the position and size of a child layout element along the given axis.

    Declaration
    protected void SetChildAlongAxisWithScale(RectTransform rect, int axis, float pos, float size, float scaleFactor)
    Parameters
    Type Name Description
    RectTransform rect

    The RectTransform of the child layout element.

    int axis

    The axis to set the position and size along. 0 is horizontal and 1 is vertical.

    float pos

    The position from the left side or top.

    float size

    The size.

    float scaleFactor

    SetDirty()

    Mark the LayoutGroup as dirty.

    Declaration
    protected void SetDirty()

    SetLayoutHorizontal()

    Callback invoked by the auto layout system which handles horizontal aspects of the layout.

    Declaration
    public abstract void SetLayoutHorizontal()

    SetLayoutInputForAxis(float, float, float, int)

    Used to set the calculated layout properties for the given axis.

    Declaration
    protected void SetLayoutInputForAxis(float totalMin, float totalPreferred, float totalFlexible, int axis)
    Parameters
    Type Name Description
    float totalMin

    The min size for the layout group.

    float totalPreferred

    The preferred size for the layout group.

    float totalFlexible

    The flexible size for the layout group.

    int axis

    The axis to set sizes for. 0 is horizontal and 1 is vertical.

    SetLayoutVertical()

    Callback invoked by the auto layout system which handles vertical aspects of the layout.

    Declaration
    public abstract void SetLayoutVertical()

    SetProperty<T>(ref T, T)

    Helper method used to set a given property if it has changed.

    Declaration
    protected void SetProperty<T>(ref T currentValue, T newValue)
    Parameters
    Type Name Description
    T currentValue

    A reference to the member value.

    T newValue

    The new value.

    Type Parameters
    Name Description
    T

    Implements

    ILayoutElement
    ILayoutGroup
    ILayoutController
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)