Merge "Don't show icons for top level menus unless forced." into nyc-dev

This commit is contained in:
Oren Blasberg
2016-04-26 22:38:56 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 9 deletions

View File

@@ -349,21 +349,18 @@ final class CascadingMenuPopup extends MenuPopup implements MenuPresenter, OnKey
final LayoutInflater inflater = LayoutInflater.from(mContext); final LayoutInflater inflater = LayoutInflater.from(mContext);
final MenuAdapter adapter = new MenuAdapter(menu, inflater, mOverflowOnly); final MenuAdapter adapter = new MenuAdapter(menu, inflater, mOverflowOnly);
// Apply "force show icon" setting. There are 4 cases: // Apply "force show icon" setting. There are 3 cases:
// (1) This is the top level menu. Only add spacing for icons if forced. // (1) This is the top level menu and icon spacing is forced. Add spacing.
// (2) This is a submenu. Add spacing if any of the visible menu items has an icon. // (2) This is a submenu. Add spacing if any of the visible menu items has an icon.
// (3) This is a top level menu that is not an overflow menu. Add spacing if any of the // (3) This is the top level menu and icon spacing isn't forced. Do not add spacing.
// visible menu items has an icon.
// (4) This is an overflow menu or a top level menu that doesn't have "force" set.
// Don't allow spacing.
if (!isShowing() && mForceShowIcon) { if (!isShowing() && mForceShowIcon) {
// Case 1 // Case 1
adapter.setForceShowIcon(true); adapter.setForceShowIcon(true);
} else if (isShowing() || !isShowing() && !mForceShowIcon && !mOverflowOnly) { } else if (isShowing()) {
// Case 2 or 3 // Case 2
adapter.setForceShowIcon(MenuPopup.shouldPreserveIconSpacing(menu)); adapter.setForceShowIcon(MenuPopup.shouldPreserveIconSpacing(menu));
} }
// Case 4: Else, don't allow spacing for icons. // Case 3: Else, don't allow spacing for icons (default behavior; do nothing).
final int menuWidth = measureIndividualMenuWidth(adapter, null, mContext, mMenuMaxWidth); final int menuWidth = measureIndividualMenuWidth(adapter, null, mContext, mMenuMaxWidth);
final MenuPopupWindow popupWindow = createPopupWindow(); final MenuPopupWindow popupWindow = createPopupWindow();

View File

@@ -104,6 +104,9 @@ public class MenuPopupHelper implements MenuHelper {
*/ */
public void setForceShowIcon(boolean forceShowIcon) { public void setForceShowIcon(boolean forceShowIcon) {
mForceShowIcon = forceShowIcon; mForceShowIcon = forceShowIcon;
if (mPopup != null) {
mPopup.setForceShowIcon(forceShowIcon);
}
} }
/** /**