From 1b0839d7384bfbbac6b15bd9229304a461914b46 Mon Sep 17 00:00:00 2001 From: Paolo Rotolo Date: Mon, 29 Jan 2018 01:07:44 +0100 Subject: [PATCH 1/2] Fix bug when user scroll content quickly. Closes #37 --- .../main/java/saulmm/myapplication/AvatarImageBehavior.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java b/app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java index e995f1c..89085ab 100644 --- a/app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java +++ b/app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java @@ -84,6 +84,11 @@ public boolean onDependentViewChanged(CoordinatorLayout parent, CircleImageView * (1f - expandedPercentageFactor)) + (child.getHeight()/2); child.setX(mStartXPosition - distanceXToSubtract); + + int maxYDistance = (mStartYPosition - mFinalYPosition) + (mCustomFinalHeight / 2); + if (distanceYToSubtract > maxYDistance) + distanceYToSubtract = maxYDistance; + child.setY(mStartYPosition - distanceYToSubtract); float heightToSubtract = ((mStartHeight - mCustomFinalHeight) * heightFactor); From 2099e35e1d8e7446a6aa5352636a3fa6b013f65a Mon Sep 17 00:00:00 2001 From: Paolo Rotolo Date: Mon, 29 Jan 2018 01:08:44 +0100 Subject: [PATCH 2/2] Fix bug when user scrolls content quickly. Closes #37 --- app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java b/app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java index 89085ab..09f9d2e 100644 --- a/app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java +++ b/app/src/main/java/saulmm/myapplication/AvatarImageBehavior.java @@ -85,7 +85,7 @@ public boolean onDependentViewChanged(CoordinatorLayout parent, CircleImageView child.setX(mStartXPosition - distanceXToSubtract); - int maxYDistance = (mStartYPosition - mFinalYPosition) + (mCustomFinalHeight / 2); + float maxYDistance = (mStartYPosition - mFinalYPosition) + (mCustomFinalHeight / 2); if (distanceYToSubtract > maxYDistance) distanceYToSubtract = maxYDistance;