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