Loading api/current.txt +14 −13 Original line number Diff line number Diff line Loading @@ -1512,6 +1512,7 @@ package android { field public static final int TextAppearance_Holo_Small = 16974081; // 0x1030101 field public static final int TextAppearance_Holo_Small_Inverse = 16974082; // 0x1030102 field public static final int TextAppearance_Holo_Widget = 16974085; // 0x1030105 field public static final int TextAppearance_Holo_Widget_ActionBar_Menu = 16974113; // 0x1030121 field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle = 16974099; // 0x1030113 field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse = 16974110; // 0x103011e field public static final int TextAppearance_Holo_Widget_ActionBar_Title = 16974098; // 0x1030112 Loading Loading @@ -1582,16 +1583,16 @@ package android { field public static final int Theme_Holo_Light_NoActionBar = 16974064; // 0x10300f0 field public static final int Theme_Holo_Light_NoActionBar_Fullscreen = 16974065; // 0x10300f1 field public static final int Theme_Holo_Light_Panel = 16973948; // 0x103007c field public static final int Theme_Holo_Light_SolidActionBar = 16974121; // 0x1030129 field public static final int Theme_Holo_Light_SolidActionBar_Inverse = 16974122; // 0x103012a field public static final int Theme_Holo_Light_SolidActionBar_Inverse_SplitActionBarWhenNarrow = 16974125; // 0x103012d field public static final int Theme_Holo_Light_SolidActionBar_SplitActionBarWhenNarrow = 16974124; // 0x103012c field public static final int Theme_Holo_Light_SolidActionBar = 16974122; // 0x103012a field public static final int Theme_Holo_Light_SolidActionBar_Inverse = 16974123; // 0x103012b field public static final int Theme_Holo_Light_SolidActionBar_Inverse_SplitActionBarWhenNarrow = 16974126; // 0x103012e field public static final int Theme_Holo_Light_SolidActionBar_SplitActionBarWhenNarrow = 16974125; // 0x103012d field public static final int Theme_Holo_Light_SplitActionBarWhenNarrow = 16974106; // 0x103011a field public static final int Theme_Holo_NoActionBar = 16973932; // 0x103006c field public static final int Theme_Holo_NoActionBar_Fullscreen = 16973933; // 0x103006d field public static final int Theme_Holo_Panel = 16973947; // 0x103007b field public static final int Theme_Holo_SolidActionBar = 16974120; // 0x1030128 field public static final int Theme_Holo_SolidActionBar_SplitActionBarWhenNarrow = 16974123; // 0x103012b field public static final int Theme_Holo_SolidActionBar = 16974121; // 0x1030129 field public static final int Theme_Holo_SolidActionBar_SplitActionBarWhenNarrow = 16974124; // 0x103012c field public static final int Theme_Holo_SplitActionBarWhenNarrow = 16974105; // 0x1030119 field public static final int Theme_Holo_Wallpaper = 16973949; // 0x103007d field public static final int Theme_Holo_Wallpaper_NoTitleBar = 16973950; // 0x103007e Loading Loading @@ -1643,7 +1644,7 @@ package android { field public static final int Widget_GridView = 16973874; // 0x1030032 field public static final int Widget_Holo = 16973962; // 0x103008a field public static final int Widget_Holo_ActionBar = 16974004; // 0x10300b4 field public static final int Widget_Holo_ActionBar_Solid = 16974113; // 0x1030121 field public static final int Widget_Holo_ActionBar_Solid = 16974114; // 0x1030122 field public static final int Widget_Holo_ActionBar_TabBar = 16974071; // 0x10300f7 field public static final int Widget_Holo_ActionBar_TabText = 16974070; // 0x10300f6 field public static final int Widget_Holo_ActionBar_TabView = 16974069; // 0x10300f5 Loading Loading @@ -1673,19 +1674,19 @@ package android { field public static final int Widget_Holo_ImageButton = 16973974; // 0x1030096 field public static final int Widget_Holo_Light = 16974005; // 0x10300b5 field public static final int Widget_Holo_Light_ActionBar = 16974049; // 0x10300e1 field public static final int Widget_Holo_Light_ActionBar_Solid = 16974114; // 0x1030122 field public static final int Widget_Holo_Light_ActionBar_Solid_Inverse = 16974115; // 0x1030123 field public static final int Widget_Holo_Light_ActionBar_Solid = 16974115; // 0x1030123 field public static final int Widget_Holo_Light_ActionBar_Solid_Inverse = 16974116; // 0x1030124 field public static final int Widget_Holo_Light_ActionBar_TabBar = 16974074; // 0x10300fa field public static final int Widget_Holo_Light_ActionBar_TabBar_Inverse = 16974116; // 0x1030124 field public static final int Widget_Holo_Light_ActionBar_TabBar_Inverse = 16974117; // 0x1030125 field public static final int Widget_Holo_Light_ActionBar_TabText = 16974073; // 0x10300f9 field public static final int Widget_Holo_Light_ActionBar_TabText_Inverse = 16974118; // 0x1030126 field public static final int Widget_Holo_Light_ActionBar_TabText_Inverse = 16974119; // 0x1030127 field public static final int Widget_Holo_Light_ActionBar_TabView = 16974072; // 0x10300f8 field public static final int Widget_Holo_Light_ActionBar_TabView_Inverse = 16974117; // 0x1030125 field public static final int Widget_Holo_Light_ActionBar_TabView_Inverse = 16974118; // 0x1030126 field public static final int Widget_Holo_Light_ActionButton = 16974045; // 0x10300dd field public static final int Widget_Holo_Light_ActionButton_CloseMode = 16974048; // 0x10300e0 field public static final int Widget_Holo_Light_ActionButton_Overflow = 16974046; // 0x10300de field public static final int Widget_Holo_Light_ActionMode = 16974047; // 0x10300df field public static final int Widget_Holo_Light_ActionMode_Inverse = 16974119; // 0x1030127 field public static final int Widget_Holo_Light_ActionMode_Inverse = 16974120; // 0x1030128 field public static final int Widget_Holo_Light_AutoCompleteTextView = 16974011; // 0x10300bb field public static final int Widget_Holo_Light_Button = 16974006; // 0x10300b6 field public static final int Widget_Holo_Light_Button_Borderless_Small = 16974108; // 0x103011c core/java/android/widget/Spinner.java +2 −1 Original line number Diff line number Diff line Loading @@ -231,7 +231,8 @@ public class Spinner extends AbsSpinner implements OnClickListener { } if (child != null) { return child.getTop() + child.getBaseline(); final int childBaseline = child.getBaseline(); return childBaseline >= 0 ? child.getTop() + childBaseline : -1; } else { return -1; } Loading core/java/com/android/internal/view/menu/ActionMenuView.java +23 −23 Original line number Diff line number Diff line Loading @@ -112,7 +112,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo int cellsRemaining = cellCount; int maxChildHeight = 0; int maxCellsUsed = 0; int multiCellItemCount = 0; int expandableItemCount = 0; if (mReserveOverflow) cellsRemaining--; Loading @@ -123,7 +123,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo lp.expanded = false; lp.extraPixels = 0; lp.cellsUsed = 0; lp.multiCell = false; lp.expandable = false; // Overflow always gets 1 cell. No more, no less. final int cellsAvailable = lp.isOverflowButton ? 1 : cellsRemaining; Loading @@ -132,7 +132,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo heightMeasureSpec, heightPadding); maxCellsUsed = Math.max(maxCellsUsed, cellsUsed); if (lp.multiCell) multiCellItemCount++; if (lp.expandable) expandableItemCount++; cellsRemaining -= cellsUsed; maxChildHeight = Math.max(maxChildHeight, child.getMeasuredHeight()); Loading @@ -142,8 +142,8 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo // Try distributing whole leftover cells to smaller items first. boolean needsExpansion = false; long smallestMultiCellItemsAt = 0; while (multiCellItemCount > 0 && cellsRemaining > 0) { long smallestExpandableItemsAt = 0; while (expandableItemCount > 0 && cellsRemaining > 0) { int minCells = Integer.MAX_VALUE; long minCellsAt = 0; // Bit locations are indices of relevant child views int minCellsItemCount = 0; Loading @@ -152,7 +152,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo final LayoutParams lp = (LayoutParams) child.getLayoutParams(); // Don't try to expand items that shouldn't. if (!lp.multiCell) continue; if (!lp.expandable) continue; // Mark indices of children that can receive an extra cell. if (lp.cellsUsed < minCells) { Loading @@ -165,10 +165,10 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo } } if (minCellsItemCount < cellsRemaining) break; // Couldn't expand anything evenly. Stop. if (minCellsItemCount > cellsRemaining) break; // Couldn't expand anything evenly. Stop. // Items that get expanded will always be in the set of smallest items when we're done. smallestMultiCellItemsAt |= minCellsAt; smallestExpandableItemsAt |= minCellsAt; for (int i = 0; i < childCount; i++) { if ((minCellsAt & (1 << i)) == 0) continue; Loading @@ -186,12 +186,12 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo // Divide any space left that wouldn't divide along cell boundaries // evenly among the smallest multi-cell (expandable) items. if (cellsRemaining > 0 && smallestMultiCellItemsAt != 0) { final int expandCount = Long.bitCount(smallestMultiCellItemsAt); if (cellsRemaining > 0 && smallestExpandableItemsAt != 0) { final int expandCount = Long.bitCount(smallestExpandableItemsAt); final int extraPixels = cellsRemaining * cellSize / expandCount; for (int i = 0; i < childCount; i++) { if ((smallestMultiCellItemsAt & (1 << i)) == 0) continue; if ((smallestExpandableItemsAt & (1 << i)) == 0) continue; final View child = getChildAt(i); final LayoutParams lp = (LayoutParams) child.getLayoutParams(); Loading Loading @@ -229,7 +229,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo * Measure a child view to fit within cell-based formatting. The child's width * will be measured to a whole multiple of cellSize. * * <p>Sets the multiCell and cellsUsed fields of LayoutParams. * <p>Sets the expandable and cellsUsed fields of LayoutParams. * * @param child Child to measure * @param cellSize Size of one cell Loading @@ -241,21 +241,14 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo static int measureChildForCells(View child, int cellSize, int cellsRemaining, int parentHeightMeasureSpec, int parentHeightPadding) { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); final ActionMenuItemView itemView = child instanceof ActionMenuItemView ? (ActionMenuItemView) child : null; final int childHeightSize = MeasureSpec.getSize(parentHeightMeasureSpec) - parentHeightPadding; final int childHeightMode = MeasureSpec.getMode(parentHeightMeasureSpec); final int childHeightSpec = MeasureSpec.makeMeasureSpec(childHeightSize, childHeightMode); int cellsUsed = cellsRemaining > 0 ? 1 : 0; final boolean multiCell = !lp.isOverflowButton && (itemView == null || itemView.hasText()); lp.multiCell = multiCell; if (multiCell && cellsRemaining > 0) { int cellsUsed = 0; if (cellsRemaining > 0) { final int childWidthSpec = MeasureSpec.makeMeasureSpec( cellSize * cellsRemaining, MeasureSpec.AT_MOST); child.measure(childWidthSpec, childHeightSpec); Loading @@ -264,6 +257,12 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo cellsUsed = measuredWidth / cellSize; if (measuredWidth % cellSize != 0) cellsUsed++; } final ActionMenuItemView itemView = child instanceof ActionMenuItemView ? (ActionMenuItemView) child : null; final boolean expandable = !lp.isOverflowButton && itemView != null && itemView.hasText(); lp.expandable = expandable; lp.cellsUsed = cellsUsed; final int targetWidth = cellsUsed * cellSize; child.measure(MeasureSpec.makeMeasureSpec(targetWidth, MeasureSpec.EXACTLY), Loading Loading @@ -426,9 +425,10 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo @ViewDebug.ExportedProperty(category = "layout") public int cellsUsed; @ViewDebug.ExportedProperty(category = "layout") public boolean multiCell; @ViewDebug.ExportedProperty(category = "layout") public int extraPixels; @ViewDebug.ExportedProperty(category = "layout") public boolean expandable; public boolean expanded; public LayoutParams(Context c, AttributeSet attrs) { Loading core/res/res/values/public.xml +1 −0 Original line number Diff line number Diff line Loading @@ -1789,6 +1789,7 @@ <public type="style" name="TextAppearance.Holo.Widget.ActionBar.Subtitle.Inverse" /> <public type="style" name="TextAppearance.Holo.Widget.ActionMode.Title.Inverse" /> <public type="style" name="TextAppearance.Holo.Widget.ActionMode.Subtitle.Inverse" /> <public type="style" name="TextAppearance.Holo.Widget.ActionBar.Menu" /> <public type="style" name="Widget.Holo.ActionBar.Solid" /> <public type="style" name="Widget.Holo.Light.ActionBar.Solid" /> <public type="style" name="Widget.Holo.Light.ActionBar.Solid.Inverse" /> Loading core/res/res/values/styles.xml +9 −3 Original line number Diff line number Diff line Loading @@ -1314,6 +1314,13 @@ <item name="android:textSize">@android:dimen/action_bar_subtitle_text_size</item> </style> <style name="TextAppearance.Holo.Widget.ActionBar.Menu" parent="TextAppearance.Holo.Small"> <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> <item name="android:textColor">?android:attr/actionMenuTextColor</item> </style> <style name="TextAppearance.Holo.Widget.ActionMode"> </style> Loading Loading @@ -1848,7 +1855,8 @@ <style name="Widget.Holo.ActionBar.TabText" parent="Widget.ActionBar.TabText"> <item name="android:textAppearance">@style/TextAppearance.Holo.Medium</item> <item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textSize">18sp</item> <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> </style> <style name="Widget.Holo.ActionMode" parent="Widget.ActionMode"> Loading Loading @@ -2203,9 +2211,7 @@ </style> <style name="Widget.Holo.Light.ActionBar.TabText.Inverse"> <item name="android:textAppearance">@style/TextAppearance.Holo.Medium</item> <item name="android:textColor">?android:attr/textColorPrimaryInverse</item> <item name="android:textSize">18sp</item> </style> <style name="Widget.Holo.Light.ActionMode" parent="Widget.Holo.ActionMode"> Loading Loading
api/current.txt +14 −13 Original line number Diff line number Diff line Loading @@ -1512,6 +1512,7 @@ package android { field public static final int TextAppearance_Holo_Small = 16974081; // 0x1030101 field public static final int TextAppearance_Holo_Small_Inverse = 16974082; // 0x1030102 field public static final int TextAppearance_Holo_Widget = 16974085; // 0x1030105 field public static final int TextAppearance_Holo_Widget_ActionBar_Menu = 16974113; // 0x1030121 field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle = 16974099; // 0x1030113 field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse = 16974110; // 0x103011e field public static final int TextAppearance_Holo_Widget_ActionBar_Title = 16974098; // 0x1030112 Loading Loading @@ -1582,16 +1583,16 @@ package android { field public static final int Theme_Holo_Light_NoActionBar = 16974064; // 0x10300f0 field public static final int Theme_Holo_Light_NoActionBar_Fullscreen = 16974065; // 0x10300f1 field public static final int Theme_Holo_Light_Panel = 16973948; // 0x103007c field public static final int Theme_Holo_Light_SolidActionBar = 16974121; // 0x1030129 field public static final int Theme_Holo_Light_SolidActionBar_Inverse = 16974122; // 0x103012a field public static final int Theme_Holo_Light_SolidActionBar_Inverse_SplitActionBarWhenNarrow = 16974125; // 0x103012d field public static final int Theme_Holo_Light_SolidActionBar_SplitActionBarWhenNarrow = 16974124; // 0x103012c field public static final int Theme_Holo_Light_SolidActionBar = 16974122; // 0x103012a field public static final int Theme_Holo_Light_SolidActionBar_Inverse = 16974123; // 0x103012b field public static final int Theme_Holo_Light_SolidActionBar_Inverse_SplitActionBarWhenNarrow = 16974126; // 0x103012e field public static final int Theme_Holo_Light_SolidActionBar_SplitActionBarWhenNarrow = 16974125; // 0x103012d field public static final int Theme_Holo_Light_SplitActionBarWhenNarrow = 16974106; // 0x103011a field public static final int Theme_Holo_NoActionBar = 16973932; // 0x103006c field public static final int Theme_Holo_NoActionBar_Fullscreen = 16973933; // 0x103006d field public static final int Theme_Holo_Panel = 16973947; // 0x103007b field public static final int Theme_Holo_SolidActionBar = 16974120; // 0x1030128 field public static final int Theme_Holo_SolidActionBar_SplitActionBarWhenNarrow = 16974123; // 0x103012b field public static final int Theme_Holo_SolidActionBar = 16974121; // 0x1030129 field public static final int Theme_Holo_SolidActionBar_SplitActionBarWhenNarrow = 16974124; // 0x103012c field public static final int Theme_Holo_SplitActionBarWhenNarrow = 16974105; // 0x1030119 field public static final int Theme_Holo_Wallpaper = 16973949; // 0x103007d field public static final int Theme_Holo_Wallpaper_NoTitleBar = 16973950; // 0x103007e Loading Loading @@ -1643,7 +1644,7 @@ package android { field public static final int Widget_GridView = 16973874; // 0x1030032 field public static final int Widget_Holo = 16973962; // 0x103008a field public static final int Widget_Holo_ActionBar = 16974004; // 0x10300b4 field public static final int Widget_Holo_ActionBar_Solid = 16974113; // 0x1030121 field public static final int Widget_Holo_ActionBar_Solid = 16974114; // 0x1030122 field public static final int Widget_Holo_ActionBar_TabBar = 16974071; // 0x10300f7 field public static final int Widget_Holo_ActionBar_TabText = 16974070; // 0x10300f6 field public static final int Widget_Holo_ActionBar_TabView = 16974069; // 0x10300f5 Loading Loading @@ -1673,19 +1674,19 @@ package android { field public static final int Widget_Holo_ImageButton = 16973974; // 0x1030096 field public static final int Widget_Holo_Light = 16974005; // 0x10300b5 field public static final int Widget_Holo_Light_ActionBar = 16974049; // 0x10300e1 field public static final int Widget_Holo_Light_ActionBar_Solid = 16974114; // 0x1030122 field public static final int Widget_Holo_Light_ActionBar_Solid_Inverse = 16974115; // 0x1030123 field public static final int Widget_Holo_Light_ActionBar_Solid = 16974115; // 0x1030123 field public static final int Widget_Holo_Light_ActionBar_Solid_Inverse = 16974116; // 0x1030124 field public static final int Widget_Holo_Light_ActionBar_TabBar = 16974074; // 0x10300fa field public static final int Widget_Holo_Light_ActionBar_TabBar_Inverse = 16974116; // 0x1030124 field public static final int Widget_Holo_Light_ActionBar_TabBar_Inverse = 16974117; // 0x1030125 field public static final int Widget_Holo_Light_ActionBar_TabText = 16974073; // 0x10300f9 field public static final int Widget_Holo_Light_ActionBar_TabText_Inverse = 16974118; // 0x1030126 field public static final int Widget_Holo_Light_ActionBar_TabText_Inverse = 16974119; // 0x1030127 field public static final int Widget_Holo_Light_ActionBar_TabView = 16974072; // 0x10300f8 field public static final int Widget_Holo_Light_ActionBar_TabView_Inverse = 16974117; // 0x1030125 field public static final int Widget_Holo_Light_ActionBar_TabView_Inverse = 16974118; // 0x1030126 field public static final int Widget_Holo_Light_ActionButton = 16974045; // 0x10300dd field public static final int Widget_Holo_Light_ActionButton_CloseMode = 16974048; // 0x10300e0 field public static final int Widget_Holo_Light_ActionButton_Overflow = 16974046; // 0x10300de field public static final int Widget_Holo_Light_ActionMode = 16974047; // 0x10300df field public static final int Widget_Holo_Light_ActionMode_Inverse = 16974119; // 0x1030127 field public static final int Widget_Holo_Light_ActionMode_Inverse = 16974120; // 0x1030128 field public static final int Widget_Holo_Light_AutoCompleteTextView = 16974011; // 0x10300bb field public static final int Widget_Holo_Light_Button = 16974006; // 0x10300b6 field public static final int Widget_Holo_Light_Button_Borderless_Small = 16974108; // 0x103011c
core/java/android/widget/Spinner.java +2 −1 Original line number Diff line number Diff line Loading @@ -231,7 +231,8 @@ public class Spinner extends AbsSpinner implements OnClickListener { } if (child != null) { return child.getTop() + child.getBaseline(); final int childBaseline = child.getBaseline(); return childBaseline >= 0 ? child.getTop() + childBaseline : -1; } else { return -1; } Loading
core/java/com/android/internal/view/menu/ActionMenuView.java +23 −23 Original line number Diff line number Diff line Loading @@ -112,7 +112,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo int cellsRemaining = cellCount; int maxChildHeight = 0; int maxCellsUsed = 0; int multiCellItemCount = 0; int expandableItemCount = 0; if (mReserveOverflow) cellsRemaining--; Loading @@ -123,7 +123,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo lp.expanded = false; lp.extraPixels = 0; lp.cellsUsed = 0; lp.multiCell = false; lp.expandable = false; // Overflow always gets 1 cell. No more, no less. final int cellsAvailable = lp.isOverflowButton ? 1 : cellsRemaining; Loading @@ -132,7 +132,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo heightMeasureSpec, heightPadding); maxCellsUsed = Math.max(maxCellsUsed, cellsUsed); if (lp.multiCell) multiCellItemCount++; if (lp.expandable) expandableItemCount++; cellsRemaining -= cellsUsed; maxChildHeight = Math.max(maxChildHeight, child.getMeasuredHeight()); Loading @@ -142,8 +142,8 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo // Try distributing whole leftover cells to smaller items first. boolean needsExpansion = false; long smallestMultiCellItemsAt = 0; while (multiCellItemCount > 0 && cellsRemaining > 0) { long smallestExpandableItemsAt = 0; while (expandableItemCount > 0 && cellsRemaining > 0) { int minCells = Integer.MAX_VALUE; long minCellsAt = 0; // Bit locations are indices of relevant child views int minCellsItemCount = 0; Loading @@ -152,7 +152,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo final LayoutParams lp = (LayoutParams) child.getLayoutParams(); // Don't try to expand items that shouldn't. if (!lp.multiCell) continue; if (!lp.expandable) continue; // Mark indices of children that can receive an extra cell. if (lp.cellsUsed < minCells) { Loading @@ -165,10 +165,10 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo } } if (minCellsItemCount < cellsRemaining) break; // Couldn't expand anything evenly. Stop. if (minCellsItemCount > cellsRemaining) break; // Couldn't expand anything evenly. Stop. // Items that get expanded will always be in the set of smallest items when we're done. smallestMultiCellItemsAt |= minCellsAt; smallestExpandableItemsAt |= minCellsAt; for (int i = 0; i < childCount; i++) { if ((minCellsAt & (1 << i)) == 0) continue; Loading @@ -186,12 +186,12 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo // Divide any space left that wouldn't divide along cell boundaries // evenly among the smallest multi-cell (expandable) items. if (cellsRemaining > 0 && smallestMultiCellItemsAt != 0) { final int expandCount = Long.bitCount(smallestMultiCellItemsAt); if (cellsRemaining > 0 && smallestExpandableItemsAt != 0) { final int expandCount = Long.bitCount(smallestExpandableItemsAt); final int extraPixels = cellsRemaining * cellSize / expandCount; for (int i = 0; i < childCount; i++) { if ((smallestMultiCellItemsAt & (1 << i)) == 0) continue; if ((smallestExpandableItemsAt & (1 << i)) == 0) continue; final View child = getChildAt(i); final LayoutParams lp = (LayoutParams) child.getLayoutParams(); Loading Loading @@ -229,7 +229,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo * Measure a child view to fit within cell-based formatting. The child's width * will be measured to a whole multiple of cellSize. * * <p>Sets the multiCell and cellsUsed fields of LayoutParams. * <p>Sets the expandable and cellsUsed fields of LayoutParams. * * @param child Child to measure * @param cellSize Size of one cell Loading @@ -241,21 +241,14 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo static int measureChildForCells(View child, int cellSize, int cellsRemaining, int parentHeightMeasureSpec, int parentHeightPadding) { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); final ActionMenuItemView itemView = child instanceof ActionMenuItemView ? (ActionMenuItemView) child : null; final int childHeightSize = MeasureSpec.getSize(parentHeightMeasureSpec) - parentHeightPadding; final int childHeightMode = MeasureSpec.getMode(parentHeightMeasureSpec); final int childHeightSpec = MeasureSpec.makeMeasureSpec(childHeightSize, childHeightMode); int cellsUsed = cellsRemaining > 0 ? 1 : 0; final boolean multiCell = !lp.isOverflowButton && (itemView == null || itemView.hasText()); lp.multiCell = multiCell; if (multiCell && cellsRemaining > 0) { int cellsUsed = 0; if (cellsRemaining > 0) { final int childWidthSpec = MeasureSpec.makeMeasureSpec( cellSize * cellsRemaining, MeasureSpec.AT_MOST); child.measure(childWidthSpec, childHeightSpec); Loading @@ -264,6 +257,12 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo cellsUsed = measuredWidth / cellSize; if (measuredWidth % cellSize != 0) cellsUsed++; } final ActionMenuItemView itemView = child instanceof ActionMenuItemView ? (ActionMenuItemView) child : null; final boolean expandable = !lp.isOverflowButton && itemView != null && itemView.hasText(); lp.expandable = expandable; lp.cellsUsed = cellsUsed; final int targetWidth = cellsUsed * cellSize; child.measure(MeasureSpec.makeMeasureSpec(targetWidth, MeasureSpec.EXACTLY), Loading Loading @@ -426,9 +425,10 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo @ViewDebug.ExportedProperty(category = "layout") public int cellsUsed; @ViewDebug.ExportedProperty(category = "layout") public boolean multiCell; @ViewDebug.ExportedProperty(category = "layout") public int extraPixels; @ViewDebug.ExportedProperty(category = "layout") public boolean expandable; public boolean expanded; public LayoutParams(Context c, AttributeSet attrs) { Loading
core/res/res/values/public.xml +1 −0 Original line number Diff line number Diff line Loading @@ -1789,6 +1789,7 @@ <public type="style" name="TextAppearance.Holo.Widget.ActionBar.Subtitle.Inverse" /> <public type="style" name="TextAppearance.Holo.Widget.ActionMode.Title.Inverse" /> <public type="style" name="TextAppearance.Holo.Widget.ActionMode.Subtitle.Inverse" /> <public type="style" name="TextAppearance.Holo.Widget.ActionBar.Menu" /> <public type="style" name="Widget.Holo.ActionBar.Solid" /> <public type="style" name="Widget.Holo.Light.ActionBar.Solid" /> <public type="style" name="Widget.Holo.Light.ActionBar.Solid.Inverse" /> Loading
core/res/res/values/styles.xml +9 −3 Original line number Diff line number Diff line Loading @@ -1314,6 +1314,13 @@ <item name="android:textSize">@android:dimen/action_bar_subtitle_text_size</item> </style> <style name="TextAppearance.Holo.Widget.ActionBar.Menu" parent="TextAppearance.Holo.Small"> <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> <item name="android:textColor">?android:attr/actionMenuTextColor</item> </style> <style name="TextAppearance.Holo.Widget.ActionMode"> </style> Loading Loading @@ -1848,7 +1855,8 @@ <style name="Widget.Holo.ActionBar.TabText" parent="Widget.ActionBar.TabText"> <item name="android:textAppearance">@style/TextAppearance.Holo.Medium</item> <item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textSize">18sp</item> <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> </style> <style name="Widget.Holo.ActionMode" parent="Widget.ActionMode"> Loading Loading @@ -2203,9 +2211,7 @@ </style> <style name="Widget.Holo.Light.ActionBar.TabText.Inverse"> <item name="android:textAppearance">@style/TextAppearance.Holo.Medium</item> <item name="android:textColor">?android:attr/textColorPrimaryInverse</item> <item name="android:textSize">18sp</item> </style> <style name="Widget.Holo.Light.ActionMode" parent="Widget.Holo.ActionMode"> Loading