/// <summary> /// Request that this layout is re-laid out.<br /> /// This will make this layout and all it's parent layouts dirty.<br /> /// </summary> /// <since_tizen> 6 </since_tizen> public void RequestLayout() { Flags = Flags | LayoutFlags.ForceLayout; if (Parent != null) { LayoutGroup layoutGroup = Parent as LayoutGroup; if (layoutGroup != null && !layoutGroup.LayoutRequested) { layoutGroup.RequestLayout(); } } }
/// <summary> /// Request relayout of a LayoutItem and it's parent tree. /// </summary> /// <param name="layoutItem">LayoutItem that is required to be laid out again.</param> public void RequestLayout(LayoutItem layoutItem) { // Go up the tree and mark all parents to relayout ILayoutParent layoutParent = layoutItem.GetParent(); if (layoutParent != null) { LayoutGroup layoutGroup = layoutParent as LayoutGroup; if(! layoutGroup.LayoutRequested) { layoutGroup.RequestLayout(); } } }
/// <summary> /// Request that this layout is re-laid out.<br /> /// This will make this layout and all it's parent layouts dirty.<br /> /// </summary> /// <since_tizen> 6 </since_tizen> public void RequestLayout() { flags = flags | LayoutFlags.ForceLayout; if (parent == null) { // If RequestLayout() is called while main loop is in idle state, // then Awake() is required to awake main loop again and // Layout can be re-calculated correctly. // For performance, Awake() is called only by the root layout. ProcessorController.Instance.Awake(); } else { LayoutGroup layoutGroup = parent as LayoutGroup; if (layoutGroup != null && !layoutGroup.LayoutRequested) { layoutGroup.RequestLayout(); } } }