summaryrefslogtreecommitdiffstats
path: root/core/java/com/android/internal/widget/ActionBarContainer.java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2014-08-20 18:15:30 -0700
committerAdam Powell <adamp@google.com>2014-08-20 18:15:30 -0700
commit635c21b06194cd1b426d1936e7fdf7db34b5bb98 (patch)
tree26f7a8bec81a99f6f0652cff6b8fff413674e2d7 /core/java/com/android/internal/widget/ActionBarContainer.java
parent75f9918760ca3eb6cf753737fb34fb57146a5e59 (diff)
downloadframeworks_base-635c21b06194cd1b426d1936e7fdf7db34b5bb98.zip
frameworks_base-635c21b06194cd1b426d1936e7fdf7db34b5bb98.tar.gz
frameworks_base-635c21b06194cd1b426d1936e7fdf7db34b5bb98.tar.bz2
Fix measurement regression in ActionBarContainer
Make sure that we take into account all child views (including ActionBarContextViews) when measuring the action bar container to determine the measurement influence of an additional tab bar. Bug 16982971 Change-Id: I53ba7e9a4c9e36d97c6385d2007a3ee0a4e2bc77
Diffstat (limited to 'core/java/com/android/internal/widget/ActionBarContainer.java')
-rw-r--r--core/java/com/android/internal/widget/ActionBarContainer.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarContainer.java b/core/java/com/android/internal/widget/ActionBarContainer.java
index 254f602..a2b8ff2 100644
--- a/core/java/com/android/internal/widget/ActionBarContainer.java
+++ b/core/java/com/android/internal/widget/ActionBarContainer.java
@@ -268,16 +268,21 @@ public class ActionBarContainer extends FrameLayout {
if (mActionBarView == null) return;
- final LayoutParams lp = (LayoutParams) mActionBarView.getLayoutParams();
- final int actionBarViewHeight = isCollapsed(mActionBarView) ? 0 :
- mActionBarView.getMeasuredHeight() + lp.topMargin + lp.bottomMargin;
+ int nonTabMaxHeight = 0;
+ final int childCount = getChildCount();
+ for (int i = 0; i < childCount; i++) {
+ final View child = getChildAt(i);
+ final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+ nonTabMaxHeight = isCollapsed(child) ? 0 :
+ child.getMeasuredHeight() + lp.topMargin + lp.bottomMargin;
+ }
if (mTabContainer != null && mTabContainer.getVisibility() != GONE) {
final int mode = MeasureSpec.getMode(heightMeasureSpec);
if (mode == MeasureSpec.AT_MOST) {
final int maxHeight = MeasureSpec.getSize(heightMeasureSpec);
setMeasuredDimension(getMeasuredWidth(),
- Math.min(actionBarViewHeight + mTabContainer.getMeasuredHeight(),
+ Math.min(nonTabMaxHeight + mTabContainer.getMeasuredHeight(),
maxHeight));
}
}