diff --git a/Habitica/res/layout/activity_main.xml b/Habitica/res/layout/activity_main.xml index 921cc77e5..ba0ee4a18 100644 --- a/Habitica/res/layout/activity_main.xml +++ b/Habitica/res/layout/activity_main.xml @@ -85,7 +85,7 @@ android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginBottom="16dp" - android:layout_marginRight="8dp" /> + android:layout_marginRight="8dp"/> \ No newline at end of file diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java b/Habitica/src/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java index 622f6b069..f21bfe898 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java @@ -8,6 +8,7 @@ import android.support.design.widget.Snackbar; import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewPropertyAnimatorListener; import android.util.AttributeSet; +import android.util.Log; import android.view.View; import com.github.clans.fab.FloatingActionMenu; @@ -67,4 +68,21 @@ public class FloatingActionMenuBehavior extends CoordinatorLayout.Behavior { return minOffset; } + + @Override + public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, View child, View directTargetChild, View target, int nestedScrollAxes) { + return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL || + super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes); + } + + @Override + public void onNestedScroll(CoordinatorLayout coordinatorLayout, View child, View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) { + super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed); + + if (dyConsumed > 20 && child.getVisibility() == View.VISIBLE) { + child.setVisibility(View.INVISIBLE); + } else if (dyConsumed < -20 && child.getVisibility() != View.VISIBLE) { + child.setVisibility(View.VISIBLE); + } + } } \ No newline at end of file