diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/com/android/internal/view/menu/ActionMenuView.java | 11 | ||||
-rw-r--r-- | core/res/res/values/styles.xml | 2 |
2 files changed, 9 insertions, 4 deletions
diff --git a/core/java/com/android/internal/view/menu/ActionMenuView.java b/core/java/com/android/internal/view/menu/ActionMenuView.java index e00fe9f..af67d55 100644 --- a/core/java/com/android/internal/view/menu/ActionMenuView.java +++ b/core/java/com/android/internal/view/menu/ActionMenuView.java @@ -340,8 +340,12 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo final int childHeightMode = MeasureSpec.getMode(parentHeightMeasureSpec); final int childHeightSpec = MeasureSpec.makeMeasureSpec(childHeightSize, childHeightMode); + final ActionMenuItemView itemView = child instanceof ActionMenuItemView ? + (ActionMenuItemView) child : null; + final boolean hasText = itemView != null && itemView.hasText(); + int cellsUsed = 0; - if (cellsRemaining > 0) { + if (cellsRemaining > 0 && (!hasText || cellsRemaining >= 2)) { final int childWidthSpec = MeasureSpec.makeMeasureSpec( cellSize * cellsRemaining, MeasureSpec.AT_MOST); child.measure(childWidthSpec, childHeightSpec); @@ -349,11 +353,10 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo final int measuredWidth = child.getMeasuredWidth(); cellsUsed = measuredWidth / cellSize; if (measuredWidth % cellSize != 0) cellsUsed++; + if (hasText && cellsUsed < 2) cellsUsed = 2; } - final ActionMenuItemView itemView = child instanceof ActionMenuItemView ? - (ActionMenuItemView) child : null; - final boolean expandable = !lp.isOverflowButton && itemView != null && itemView.hasText(); + final boolean expandable = !lp.isOverflowButton && hasText; lp.expandable = expandable; lp.cellsUsed = cellsUsed; diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index baeb9cc..bc5b1bc 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -1158,6 +1158,7 @@ please see styles_device_defaults.xml. <item name="android:minWidth">@android:dimen/action_button_min_width</item> <item name="android:minHeight">?android:attr/actionBarSize</item> <item name="android:gravity">center</item> + <item name="android:maxLines">2</item> </style> <style name="Widget.ActionButton.Overflow"> @@ -1861,6 +1862,7 @@ please see styles_device_defaults.xml. <item name="android:paddingLeft">12dip</item> <item name="android:paddingRight">12dip</item> <item name="android:scaleType">center</item> + <item name="android:maxLines">2</item> </style> <style name="Widget.Holo.ActionButton.Overflow"> |