diff options
author | Mihai Popa <popam@google.com> | 2018-04-20 10:22:57 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-04-20 10:22:57 -0700 |
commit | a2d9c7430a2f39151ab4dfc75dcca73b54eb73a8 (patch) | |
tree | bdf0cd9ae4a37996b20efc946050d9f0a2988cf4 | |
parent | 174356f05497caab13d172d0d4c29b0850808202 (diff) | |
parent | 33a030ccdfcf1e7a06db3612147c16b3013174a8 (diff) |
Merge "No divider between floating toolbar item groups" into pi-dev am: cbfe423122
am: 33a030ccdf
Change-Id: I767a5453a141f23f794bed4ba00327e24d847515
-rw-r--r-- | core/java/com/android/internal/widget/FloatingToolbar.java | 71 | ||||
-rw-r--r-- | core/res/res/values/dimens.xml | 2 |
2 files changed, 8 insertions, 65 deletions
diff --git a/core/java/com/android/internal/widget/FloatingToolbar.java b/core/java/com/android/internal/widget/FloatingToolbar.java index 2ce5a0be44e0..63c2e96e173c 100644 --- a/core/java/com/android/internal/widget/FloatingToolbar.java +++ b/core/java/com/android/internal/widget/FloatingToolbar.java @@ -1176,6 +1176,9 @@ public final class FloatingToolbar { final boolean showIcon = isFirstItem && menuItem.getItemId() == R.id.textAssist; final View menuItemButton = createMenuItemButton( mContext, menuItem, mIconTextSpacing, showIcon); + if (!showIcon && menuItemButton instanceof LinearLayout) { + ((LinearLayout) menuItemButton).setGravity(Gravity.CENTER); + } // Adding additional start padding for the first button to even out button spacing. if (isFirstItem) { @@ -1200,57 +1203,21 @@ public final class FloatingToolbar { final int menuItemButtonWidth = Math.min( menuItemButton.getMeasuredWidth(), toolbarWidth); - final boolean isNewGroup = !isFirstItem && lastGroupId != menuItem.getGroupId(); - final int extraPadding = isNewGroup ? menuItemButton.getPaddingEnd() * 2 : 0; - // Check if we can fit an item while reserving space for the overflowButton. final boolean canFitWithOverflow = menuItemButtonWidth <= - availableWidth - mOverflowButtonSize.getWidth() - extraPadding; + availableWidth - mOverflowButtonSize.getWidth(); final boolean canFitNoOverflow = - isLastItem && menuItemButtonWidth <= availableWidth - extraPadding; + isLastItem && menuItemButtonWidth <= availableWidth; if (canFitWithOverflow || canFitNoOverflow) { - if (isNewGroup) { - final View divider = createDivider(mContext); - final int dividerWidth = divider.getLayoutParams().width; - - // Add extra padding to the end of the previous button. - // Half of the extra padding (less borderWidth) goes to the previous button. - final View previousButton = mMainPanel.getChildAt( - mMainPanel.getChildCount() - 1); - final int prevPaddingEnd = previousButton.getPaddingEnd() - + extraPadding / 2 - dividerWidth; - previousButton.setPaddingRelative( - previousButton.getPaddingStart(), - previousButton.getPaddingTop(), - prevPaddingEnd, - previousButton.getPaddingBottom()); - final ViewGroup.LayoutParams prevParams = previousButton.getLayoutParams(); - prevParams.width += extraPadding / 2 - dividerWidth; - previousButton.setLayoutParams(prevParams); - - // Add extra padding to the start of this button. - // Other half of the extra padding goes to this button. - final int paddingStart = menuItemButton.getPaddingStart() - + extraPadding / 2; - menuItemButton.setPaddingRelative( - paddingStart, - menuItemButton.getPaddingTop(), - menuItemButton.getPaddingEnd(), - menuItemButton.getPaddingBottom()); - - // Include a divider. - mMainPanel.addView(divider); - } - setButtonTagAndClickListener(menuItemButton, menuItem); // Set tooltips for main panel items, but not overflow items (b/35726766). menuItemButton.setTooltipText(menuItem.getTooltipText()); mMainPanel.addView(menuItemButton); final ViewGroup.LayoutParams params = menuItemButton.getLayoutParams(); - params.width = menuItemButtonWidth + extraPadding / 2; + params.width = menuItemButtonWidth; menuItemButton.setLayoutParams(params); - availableWidth -= menuItemButtonWidth + extraPadding; + availableWidth -= menuItemButtonWidth; remainingMenuItems.pop(); } else { break; @@ -1726,30 +1693,6 @@ public final class FloatingToolbar { return popupWindow; } - private static View createDivider(Context context) { - // TODO: Inflate this instead. - View divider = new View(context); - - int _1dp = (int) TypedValue.applyDimension( - TypedValue.COMPLEX_UNIT_DIP, 1, context.getResources().getDisplayMetrics()); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( - _1dp, ViewGroup.LayoutParams.MATCH_PARENT); - params.setMarginsRelative(0, _1dp * 10, 0, _1dp * 10); - divider.setLayoutParams(params); - - TypedArray a = context.obtainStyledAttributes( - new TypedValue().data, new int[] { R.attr.floatingToolbarDividerColor }); - divider.setBackgroundColor(a.getColor(0, 0)); - a.recycle(); - - divider.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); - divider.setEnabled(false); - divider.setFocusable(false); - divider.setContentDescription(null); - - return divider; - } - /** * Creates an "appear" animation for the specified view. * diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 2aa40fdf9fd5..a135b28c196a 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -536,7 +536,7 @@ <dimen name="floating_toolbar_menu_image_width">24dp</dimen> <dimen name="floating_toolbar_menu_image_button_width">56dp</dimen> <dimen name="floating_toolbar_menu_image_button_vertical_padding">12dp</dimen> - <dimen name="floating_toolbar_menu_button_side_padding">11dp</dimen> + <dimen name="floating_toolbar_menu_button_side_padding">8dp</dimen> <dimen name="floating_toolbar_overflow_image_button_width">60dp</dimen> <dimen name="floating_toolbar_overflow_side_padding">18dp</dimen> <dimen name="floating_toolbar_text_size">14sp</dimen> |