private void ResetLayout() { foreach (KeyValuePair <string, UIButtonBarItem> pair in _buttons) { UIButtonBarItem barButton = pair.Value; LayoutElement layoutElement = barButton.GetComponent <LayoutElement> (); layoutElement.preferredWidth = -1; } RectTransform cRect = container.GetComponent <RectTransform> (); cRect.anchorMin = Vector2.zero; cRect.anchorMax = new Vector2(0, 1); cRect.sizeDelta = Vector2.zero; cRect.offsetMin = Vector2.zero; cRect.offsetMax = Vector2.zero; container.childForceExpandHeight = true; container.childForceExpandWidth = false; container.spacing = 40; container.padding = new RectOffset(40, 40, 0, 0); _backgroundVLG.padding = new RectOffset(0, 0, 0, 0); container.GetComponent <ContentSizeFitter> ().horizontalFit = ContentSizeFitter.FitMode.PreferredSize; container.SetLayoutHorizontal(); }
private void UpdateLayout() { Rect barSize = transform.GetComponent <RectTransform> ().rect; Rect containerSize = container.GetComponent <RectTransform> ().rect; if (containerSize.width > barSize.width) { ResetLayout(); } else { float elementSize = barSize.width / _buttons.Count; foreach (KeyValuePair <string, UIButtonBarItem> pair in _buttons) { UIButtonBarItem barButton = pair.Value; LayoutElement layoutElement = barButton.GetComponent <LayoutElement> (); layoutElement.preferredWidth = elementSize; } RectTransform cRect = container.GetComponent <RectTransform> (); cRect.anchorMin = Vector2.zero; cRect.anchorMax = Vector2.one; cRect.sizeDelta = Vector2.zero; cRect.offsetMin = Vector2.zero; cRect.offsetMax = Vector2.zero; container.childForceExpandHeight = true; container.childForceExpandWidth = true; container.spacing = 0; container.padding = new RectOffset(0, 0, 0, 0); _backgroundVLG.padding = new RectOffset(0, 0, 0, 0); container.GetComponent <ContentSizeFitter> ().horizontalFit = ContentSizeFitter.FitMode.Unconstrained; container.SetLayoutHorizontal(); } }