diff options
| author | 2012-03-06 17:43:48 -0800 | |
|---|---|---|
| committer | 2012-03-06 17:43:48 -0800 | |
| commit | 494e155a5a7893eaec74876e674c91841781d20d (patch) | |
| tree | 06c555fc181f135d2ae72d116ec57f4d8cf57bb3 | |
| parent | d28111f4f806196c63fff8b4a33444f9333252db (diff) | |
| parent | f203e0a44ef7578c080d63424820fb5a94a4e92f (diff) | |
Merge "Fix some action bar menu layout bugs around config changes"
| -rw-r--r-- | core/java/com/android/internal/view/menu/ActionMenuPresenter.java | 6 | ||||
| -rw-r--r-- | core/java/com/android/internal/widget/ActionBarView.java | 18 |
2 files changed, 21 insertions, 3 deletions
diff --git a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java index 530809b869c3..dca45a9a9b64 100644 --- a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java +++ b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java @@ -116,9 +116,9 @@ public class ActionMenuPresenter extends BaseMenuPresenter if (!mMaxItemsSet) { mMaxItems = mContext.getResources().getInteger( com.android.internal.R.integer.max_action_buttons); - if (mMenu != null) { - mMenu.onItemsChanged(true); - } + } + if (mMenu != null) { + mMenu.onItemsChanged(true); } } diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index 2f325bf74e52..8c054590ee95 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -324,13 +324,31 @@ public class ActionBarView extends AbsActionBarView { if (mSplitView != null) { mSplitView.addView(mMenuView); } + mMenuView.getLayoutParams().width = LayoutParams.MATCH_PARENT; } else { addView(mMenuView); + mMenuView.getLayoutParams().width = LayoutParams.WRAP_CONTENT; } + mMenuView.requestLayout(); } if (mSplitView != null) { mSplitView.setVisibility(splitActionBar ? VISIBLE : GONE); } + + if (mActionMenuPresenter != null) { + if (!splitActionBar) { + mActionMenuPresenter.setExpandedActionViewsExclusive( + getResources().getBoolean( + com.android.internal.R.bool.action_bar_expanded_action_views_exclusive)); + } else { + mActionMenuPresenter.setExpandedActionViewsExclusive(false); + // Allow full screen width in split mode. + mActionMenuPresenter.setWidthLimit( + getContext().getResources().getDisplayMetrics().widthPixels, true); + // No limit to the item count; use whatever will fit. + mActionMenuPresenter.setItemLimit(Integer.MAX_VALUE); + } + } super.setSplitActionBar(splitActionBar); } } |