diff --git a/mobile/android/base/BrowserToolbar.java b/mobile/android/base/BrowserToolbar.java index ae07629341ed..7cfce26b7a18 100644 --- a/mobile/android/base/BrowserToolbar.java +++ b/mobile/android/base/BrowserToolbar.java @@ -100,6 +100,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory, private int mAddressBarViewOffset; private int mAddressBarViewOffsetNoForward; + private int mDefaultForwardMargin; private PropertyAnimator mForwardAnim = null; private int mCount; @@ -134,6 +135,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory, mAddressBarView = mLayout.findViewById(R.id.addressbar); mAddressBarViewOffset = mActivity.getResources().getDimensionPixelSize(R.dimen.addressbar_offset_left); mAddressBarViewOffsetNoForward = mActivity.getResources().getDimensionPixelSize(R.dimen.addressbar_offset_left_noforward); + mDefaultForwardMargin = mActivity.getResources().getDimensionPixelSize(R.dimen.forward_default_offset); mAwesomeBarRightEdge = (GeckoFrameLayout) mLayout.findViewById(R.id.awesome_bar_right_edge); mAwesomeBarEntry = mLayout.findViewById(R.id.awesome_bar_entry); @@ -1004,7 +1006,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory, return; mForwardAnim = new PropertyAnimator(FORWARD_ANIMATION_DURATION); - final int width = enabled ? mForward.getWidth()/2 : 0; + final int width = mForward.getWidth()/2; mForwardAnim.setPropertyAnimationListener(new PropertyAnimator.PropertyAnimationListener() { @Override @@ -1036,20 +1038,27 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory, proxy = AnimatorProxy.create(mSiteSecurity); proxy.setTranslationX(0); - mAddressBarView.requestLayout(); } + + ViewGroup.MarginLayoutParams layoutParams = + (ViewGroup.MarginLayoutParams)mForward.getLayoutParams(); + layoutParams.leftMargin = mDefaultForwardMargin + (mForward.isEnabled() ? mForward.getWidth()/2 : 0); + AnimatorProxy proxy = AnimatorProxy.create(mForward); + proxy.setTranslationX(0); + + mAddressBarView.requestLayout(); mForwardAnim = null; } }); - prepareForwardAnimation(mForwardAnim, width); + prepareForwardAnimation(mForwardAnim, enabled, width); mForwardAnim.start(); } - private void prepareForwardAnimation(PropertyAnimator anim, int width) { - if (width == 0) { + private void prepareForwardAnimation(PropertyAnimator anim, boolean enabled, int width) { + if (!enabled) { anim.attach(mForward, PropertyAnimator.Property.TRANSLATION_X, - 0); + -1*width); anim.attach(mForward, PropertyAnimator.Property.ALPHA, 0); diff --git a/mobile/android/base/resources/values-large-v11/styles.xml b/mobile/android/base/resources/values-large-v11/styles.xml index f8f6e2227e51..cb494f0e5a7a 100644 --- a/mobile/android/base/resources/values-large-v11/styles.xml +++ b/mobile/android/base/resources/values-large-v11/styles.xml @@ -42,7 +42,7 @@ @drawable/address_bar_nav_button 0 - -11dp + @dimen/forward_default_offset