diff options
| author | Adam Powell <adamp@google.com> | 2011-07-20 14:30:48 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-07-20 14:30:48 -0700 |
| commit | ae5df05f2246515a652f0c935c6deb85a0bdee01 (patch) | |
| tree | f71cca6abc1392485cb30251aaae53bd2ee28f59 /core/java | |
| parent | 1d441dd06682d61e0b89b96989e039002a186b2a (diff) | |
| parent | b187cd9c54f0100c0fb47c354cdecad29ca7c0ae (diff) | |
Merge "Fix bug 5038368 - Rules for collapsing action views."
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/view/menu/ActionMenuPresenter.java | 10 | ||||
| -rw-r--r-- | core/java/com/android/internal/widget/ActionBarView.java | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java index 80f68ac57765..06f753f3f28e 100644 --- a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java +++ b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java @@ -48,6 +48,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter { private boolean mMaxItemsSet; private boolean mStrictWidthLimit; private boolean mWidthLimitSet; + private boolean mExpandedActionViewsExclusive; private int mMinCellSize; @@ -124,6 +125,10 @@ public class ActionMenuPresenter extends BaseMenuPresenter { mMaxItemsSet = true; } + public void setExpandedActionViewsExclusive(boolean isExclusive) { + mExpandedActionViewsExclusive = isExclusive; + } + @Override public MenuView getMenuView(ViewGroup root) { MenuView result = super.getMenuView(root); @@ -326,6 +331,11 @@ public class ActionMenuPresenter extends BaseMenuPresenter { } else { hasOverflow = true; } + if (mExpandedActionViewsExclusive && item.isActionViewExpanded()) { + // Overflow everything if we have an expanded action view and we're + // space constrained. + maxActions = 0; + } } // Reserve a spot for the overflow item if needed. diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index 678751cda060..e03858b4af13 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -345,11 +345,15 @@ public class ActionBarView extends AbsActionBarView { final LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); if (!mSplitActionBar) { + mActionMenuPresenter.setExpandedActionViewsExclusive( + getResources().getBoolean( + com.android.internal.R.bool.action_bar_expanded_action_views_exclusive)); builder.addMenuPresenter(mActionMenuPresenter); builder.addMenuPresenter(mExpandedMenuPresenter); menuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this); addView(menuView, layoutParams); } else { + mActionMenuPresenter.setExpandedActionViewsExclusive(false); // Allow full screen width in split mode. mActionMenuPresenter.setWidthLimit( getContext().getResources().getDisplayMetrics().widthPixels, true); |
