Swipe right reimplemented

This commit is contained in:
GaidamakUA 2015-09-21 17:56:28 +03:00
parent ee6cf7f054
commit 8cae14ca1f
3 changed files with 4 additions and 12 deletions

View file

@ -20,9 +20,6 @@ import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.widgets.InterceptorFrameLayout; import net.osmand.plus.widgets.InterceptorFrameLayout;
import net.osmand.plus.widgets.tools.SwipeDismissTouchListener; import net.osmand.plus.widgets.tools.SwipeDismissTouchListener;
/**
* Created by Denis on 24.11.2014.
*/
public abstract class DashBaseFragment extends Fragment { public abstract class DashBaseFragment extends Fragment {
protected DashboardOnMap dashboard; protected DashboardOnMap dashboard;
@ -72,9 +69,7 @@ public abstract class DashBaseFragment extends Fragment {
@Override @Override
public void onDismiss(View view, Object token, boolean isSwipeRight) { public void onDismiss(View view, Object token, boolean isSwipeRight) {
if (isSwipeRight) { getDismissCallback().onDismiss();
getDismissCallback().onDismiss();
}
} }
}); });
frameLayout.setOnTouchListener(listener); frameLayout.setOnTouchListener(listener);

View file

@ -11,9 +11,6 @@ import android.widget.FrameLayout;
import net.osmand.plus.widgets.tools.SwipeDismissTouchListener; import net.osmand.plus.widgets.tools.SwipeDismissTouchListener;
/**
* Created by GaidamakUA on 8/5/15.
*/
public class InterceptorFrameLayout extends FrameLayout { public class InterceptorFrameLayout extends FrameLayout {
private int mTouchSlop; private int mTouchSlop;
private boolean mIsScrolling; private boolean mIsScrolling;
@ -67,7 +64,7 @@ public class InterceptorFrameLayout extends FrameLayout {
} }
final int xDiff = calculateDistanceX(ev); final int xDiff = calculateDistanceX(ev);
if (xDiff > mTouchSlop) { if (Math.abs(xDiff) > mTouchSlop) {
mIsScrolling = true; mIsScrolling = true;
return true; return true;
} }

View file

@ -143,7 +143,7 @@ public class SwipeDismissTouchListener implements View.OnTouchListener {
dismiss = (velocityX < 0) == (deltaX < 0); dismiss = (velocityX < 0) == (deltaX < 0);
dismissRight = mVelocityTracker.getXVelocity() > 0; dismissRight = mVelocityTracker.getXVelocity() > 0;
} }
if (dismiss && dismissRight) { if (dismiss) {
// dismiss // dismiss
final boolean finalDismissRight = dismissRight; final boolean finalDismissRight = dismissRight;
ViewCompat.animate(mView) ViewCompat.animate(mView)
@ -210,7 +210,7 @@ public class SwipeDismissTouchListener implements View.OnTouchListener {
mVelocityTracker.addMovement(motionEvent); mVelocityTracker.addMovement(motionEvent);
float deltaX = motionEvent.getRawX() - mDownX; float deltaX = motionEvent.getRawX() - mDownX;
float deltaY = motionEvent.getRawY() - mDownY; float deltaY = motionEvent.getRawY() - mDownY;
if (deltaX > mSlop && Math.abs(deltaY) < deltaX / 2) { if (Math.abs(deltaX) > mSlop && Math.abs(deltaY) < Math.abs(deltaX) / 2) {
mSwiping = true; mSwiping = true;
mSwipingSlop = (deltaX > 0 ? mSlop : -mSlop); mSwipingSlop = (deltaX > 0 ? mSlop : -mSlop);
mView.getParent().requestDisallowInterceptTouchEvent(true); mView.getParent().requestDisallowInterceptTouchEvent(true);