diff options
| author | 2011-08-25 11:49:13 -0700 | |
|---|---|---|
| committer | 2011-08-25 11:49:13 -0700 | |
| commit | 2eba19d6e93484ac1fc2eaae2ebbdecbfa651ee3 (patch) | |
| tree | 2a2ef69b2fd8e14688877911eed3a85ac92ed7da | |
| parent | 8d8533a9f0d2ed1955f548e7d255de747e01b8cf (diff) | |
| parent | aa8e509ba2d22b9ba105faad3349db8d5218ee32 (diff) | |
Merge "Fix bug 5091886 - action bar measurement"
| -rw-r--r-- | core/java/com/android/internal/widget/ActionBarView.java | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index 4efb29f2ef32..8988c9f81835 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -826,15 +826,18 @@ public class ActionBarView extends AbsActionBarView { rightOfCenter = Math.max(0, rightOfCenter - mMenuView.getMeasuredWidth()); } - if (mExpandedActionView == null) { - boolean showTitle = mTitleLayout != null && mTitleLayout.getVisibility() != GONE && - (mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0; - if (showTitle) { - availableWidth = measureChildView(mTitleLayout, availableWidth, - MeasureSpec.makeMeasureSpec(mContentHeight, MeasureSpec.EXACTLY), 0); - leftOfCenter = Math.max(0, leftOfCenter - mTitleLayout.getMeasuredWidth()); - } + if (mIndeterminateProgressView != null && + mIndeterminateProgressView.getVisibility() != GONE) { + availableWidth = measureChildView(mIndeterminateProgressView, availableWidth, + childSpecHeight, 0); + rightOfCenter = Math.max(0, + rightOfCenter - mIndeterminateProgressView.getMeasuredWidth()); + } + + final boolean showTitle = mTitleLayout != null && mTitleLayout.getVisibility() != GONE && + (mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0; + if (mExpandedActionView == null) { switch (mNavigationMode) { case ActionBar.NAVIGATION_MODE_LIST: if (mListNavLayout != null) { @@ -865,14 +868,6 @@ public class ActionBarView extends AbsActionBarView { } } - if (mIndeterminateProgressView != null && - mIndeterminateProgressView.getVisibility() != GONE) { - availableWidth = measureChildView(mIndeterminateProgressView, availableWidth, - childSpecHeight, 0); - rightOfCenter = Math.max(0, - rightOfCenter - mIndeterminateProgressView.getMeasuredWidth()); - } - View customView = null; if (mExpandedActionView != null) { customView = mExpandedActionView; @@ -922,6 +917,13 @@ public class ActionBarView extends AbsActionBarView { customView.measure( MeasureSpec.makeMeasureSpec(customNavWidth, customNavWidthMode), MeasureSpec.makeMeasureSpec(customNavHeight, customNavHeightMode)); + availableWidth -= horizontalMargin + customView.getMeasuredWidth(); + } + + if (mExpandedActionView == null && showTitle) { + availableWidth = measureChildView(mTitleLayout, availableWidth, + MeasureSpec.makeMeasureSpec(mContentHeight, MeasureSpec.EXACTLY), 0); + leftOfCenter = Math.max(0, leftOfCenter - mTitleLayout.getMeasuredWidth()); } if (mContentHeight <= 0) { |