From 5658328d8d4684640b65c24980885060f56af14d Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Mon, 22 Jun 2015 14:47:00 -0400 Subject: [PATCH] ButtonBarLayout: Let allowStacking to be set through code Bug: 21997648 Change-Id: I7ac38d39b4aa282f59b7d13f21d06c7c465ebb20 --- .../com/android/internal/widget/ButtonBarLayout.java | 12 +++++++++++- core/res/res/values/symbols.xml | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/core/java/com/android/internal/widget/ButtonBarLayout.java b/core/java/com/android/internal/widget/ButtonBarLayout.java index 39613e852d38c..3b7bce47e5ab8 100644 --- a/core/java/com/android/internal/widget/ButtonBarLayout.java +++ b/core/java/com/android/internal/widget/ButtonBarLayout.java @@ -31,7 +31,7 @@ import com.android.internal.R; */ public class ButtonBarLayout extends LinearLayout { /** Whether the current configuration allows stacking. */ - private final boolean mAllowStacking; + private boolean mAllowStacking; private int mLastWidthSize = -1; @@ -43,6 +43,16 @@ public class ButtonBarLayout extends LinearLayout { ta.recycle(); } + public void setAllowStacking(boolean allowStacking) { + if (mAllowStacking != allowStacking) { + mAllowStacking = allowStacking; + if (!mAllowStacking && getOrientation() == LinearLayout.VERTICAL) { + setStacked(false); + } + requestLayout(); + } + } + @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final int widthSize = MeasureSpec.getSize(widthMeasureSpec); diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 295251c557185..fb403f5531aaf 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2314,4 +2314,6 @@ + +