Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java |
| index 985669d20428c4e7b5ffdd73ff49713159128e25..06cf58e23f0f9e7d7bba5ffb50a6afcc0150ca96 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java |
| @@ -17,10 +17,13 @@ import android.view.ViewGroup; |
| import android.widget.BaseAdapter; |
| import android.widget.ImageButton; |
| import android.widget.ImageView; |
| +import android.widget.ImageView.ScaleType; |
| import android.widget.ListView; |
| import android.widget.TextView; |
| +import org.chromium.base.ApiCompatibilityUtils; |
| import org.chromium.chrome.R; |
| +import org.chromium.ui.base.LocalizationUtils; |
| import org.chromium.ui.interpolators.BakedBezierInterpolator; |
| import java.util.List; |
| @@ -56,6 +59,10 @@ class AppMenuAdapter extends BaseAdapter { |
| private static final float ENTER_STANDARD_ITEM_OFFSET_Y_DP = -10.f; |
| private static final float ENTER_STANDARD_ITEM_OFFSET_X_DP = 10.f; |
| + /** Menu Button Layout Constants */ |
| + private static final float MENU_BUTTON_WIDTH_DP = 59.f; |
| + private static final float MENU_BUTTON_START_PADDING_DP = 19.f; |
| + |
| private final AppMenu mAppMenu; |
| private final LayoutInflater mInflater; |
| private final List<MenuItem> mMenuItems; |
| @@ -211,9 +218,12 @@ class AppMenuAdapter extends BaseAdapter { |
| convertView = mInflater.inflate(R.layout.title_button_menu_item, parent, false); |
| holder.title = (TextView) convertView.findViewById(R.id.title); |
| holder.button = (ImageButton) convertView.findViewById(R.id.button); |
| + |
| + View animatedView = hasMenuButton ? holder.title : convertView; |
| + |
| convertView.setTag(holder); |
| convertView.setTag(R.id.menu_item_enter_anim_id, |
| - buildStandardItemEnterAnimator(convertView, position)); |
| + buildStandardItemEnterAnimator(animatedView, position)); |
| } else { |
| holder = (TitleButtonMenuItemViewHolder) convertView.getTag(); |
| } |
| @@ -275,6 +285,12 @@ class AppMenuAdapter extends BaseAdapter { |
| mAppMenu.dismiss(); |
| } |
| }); |
| + |
| + // Set the button layout to make it properly line up with any underlying menu button |
| + ApiCompatibilityUtils.setPaddingRelative( |
|
aurimas (slooooooooow)
2014/07/25 18:21:03
Do we need to reset these somewhere since we are r
David Trainor- moved to gerrit
2014/07/25 20:01:17
Ah good point!
|
| + button, (int) (MENU_BUTTON_START_PADDING_DP * mDpToPx), 0, 0, 0); |
| + button.getLayoutParams().width = (int) (MENU_BUTTON_WIDTH_DP * mDpToPx); |
| + button.setScaleType(ScaleType.CENTER); |
| } |
| /** |
| @@ -315,7 +331,8 @@ class AppMenuAdapter extends BaseAdapter { |
| * @return The {@link Animator}. |
| */ |
| private Animator buildIconItemEnterAnimator(final ImageView[] views, boolean skipLastItem) { |
| - final float offsetXPx = ENTER_STANDARD_ITEM_OFFSET_X_DP * mDpToPx; |
| + final boolean rtl = LocalizationUtils.isLayoutRtl(); |
| + final float offsetXPx = ENTER_STANDARD_ITEM_OFFSET_X_DP * mDpToPx * (rtl ? -1.f : 1.f); |
| final int maxViewsToAnimate = views.length - (skipLastItem ? 1 : 0); |
| AnimatorSet animation = new AnimatorSet(); |