docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class LayoutElement

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    UIBehaviour
    LayoutElement
    Implements
    ILayoutElement
    ILayoutIgnorer
    Inherited Members
    UIBehaviour.Awake()
    UIBehaviour.Start()
    UIBehaviour.OnDestroy()
    UIBehaviour.IsActive()
    UIBehaviour.Reset()
    UIBehaviour.OnRectTransformDimensionsChange()
    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
    [AddComponentMenu("Layout/Layout Element", 140)]
    [RequireComponent(typeof(RectTransform))]
    [ExecuteAlways]
    public class LayoutElement : UIBehaviour, ILayoutElement, ILayoutIgnorer

    Constructors

    LayoutElement()

    Declaration
    protected LayoutElement()

    Properties

    flexibleHeight

    The extra relative height this layout element should be allocated if there is additional available space.

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

    flexibleWidth

    The extra relative width this layout element should be allocated if there is additional available space.

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

    ignoreLayout

    Should this RectTransform be ignored by the layout system?

    Declaration
    public virtual bool ignoreLayout { get; set; }
    Property Value
    Type Description
    bool
    Remarks

    Setting this property to true will make a parent layout group component not consider this RectTransform part of the group. The RectTransform can then be manually positioned despite being a child GameObject of a layout group.

    layoutPriority

    The Priority of layout this element has.

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

    minHeight

    The minimum height this layout element may be allocated.

    Declaration
    public virtual float minHeight { get; set; }
    Property Value
    Type Description
    float
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI; // Required when using UI elements.
    
    public class ExampleClass : MonoBehaviour
    {
        public Transform MyContentPanel;
    
        //Sets the flexible height on on all children in the content panel.
        public void Start()
        {
            //Assign all the children of the content panel to an array.
            LayoutElement[] myLayoutElements = MyContentPanel.GetComponentsInChildren<LayoutElement>();
    
            //For each child in the array change its LayoutElement's minimum height size to 64.
            foreach (LayoutElement element in myLayoutElements)
            {
                element.minHeight = 64f;
            }
        }
    }

    minWidth

    The minimum width this layout element may be allocated.

    Declaration
    public virtual float minWidth { get; set; }
    Property Value
    Type Description
    float
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI; // Required when using UI elements.
    
    public class ExampleClass : MonoBehaviour
    {
        public Transform MyContentPanel;
    
        //Sets the flexible height on on all children in the content panel.
        public void Start()
        {
            //Assign all the children of the content panel to an array.
            LayoutElement[] myLayoutElements = MyContentPanel.GetComponentsInChildren<LayoutElement>();
    
            //For each child in the array change its LayoutElement's minimum width size to 200.
            foreach (LayoutElement element in myLayoutElements)
            {
                element.minWidth = 200f;
            }
        }
    }

    preferredHeight

    The preferred height this layout element should be allocated if there is sufficient space.

    Declaration
    public virtual float preferredHeight { get; set; }
    Property Value
    Type Description
    float
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI; // Required when using UI elements.
    
    public class ExampleClass : MonoBehaviour
    {
        public Transform MyContentPanel;
    
        //Sets the flexible height on on all children in the content panel.
        public void Start()
        {
            //Assign all the children of the content panel to an array.
            LayoutElement[] myLayoutElements = MyContentPanel.GetComponentsInChildren<LayoutElement>();
    
            //For each child in the array change its LayoutElement's preferred height size to 100.
            foreach (LayoutElement element in myLayoutElements)
            {
                element.preferredHeight = 100f;
            }
        }
    }

    preferredWidth

    The preferred width this layout element should be allocated if there is sufficient space. The preferredWidth can be set to -1 to remove the size.

    Declaration
    public virtual float preferredWidth { get; set; }
    Property Value
    Type Description
    float
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI; // Required when using UI elements.
    
    public class ExampleClass : MonoBehaviour
    {
        public Transform MyContentPanel;
    
        //Sets the flexible height on on all children in the content panel.
        public void Start()
        {
            //Assign all the children of the content panel to an array.
            LayoutElement[] myLayoutElements = MyContentPanel.GetComponentsInChildren<LayoutElement>();
    
            //For each child in the array change its LayoutElement's preferred width size to 250.
            foreach (LayoutElement element in myLayoutElements)
            {
                element.preferredWidth = 250f;
            }
        }
    }

    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 virtual void CalculateLayoutInputVertical()

    OnBeforeTransformParentChanged()

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

    OnDidApplyAnimationProperties()

    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()

    OnTransformParentChanged()

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

    OnValidate()

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

    SetDirty()

    Mark the LayoutElement as dirty.

    Declaration
    protected void SetDirty()
    Remarks

    This will make the auto layout system process this element on the next layout pass. This method should be called by the LayoutElement whenever a change is made that potentially affects the layout.

    Implements

    ILayoutElement
    ILayoutIgnorer
    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)