add NonSwipeable ViewPager in utils
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/1c6bb697 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/1c6bb697 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/1c6bb697 Branch: refs/heads/master Commit: 1c6bb697d117bb258b60dfea7cee58c6d0a69fe8 Parents: 0e4e196 Author: Sagar <kumarsagar15...@gmail.com> Authored: Sun Sep 25 21:55:09 2016 +0530 Committer: Sagar <kumarsagar15...@gmail.com> Committed: Sun Sep 25 21:55:09 2016 +0530 ---------------------------------------------------------------------- .../mobile/utils/NonSwipeableViewPager.java | 59 ++++++++++++++++++++ 1 file changed, 59 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1c6bb697/app/src/main/java/org/apache/taverna/mobile/utils/NonSwipeableViewPager.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/NonSwipeableViewPager.java b/app/src/main/java/org/apache/taverna/mobile/utils/NonSwipeableViewPager.java new file mode 100644 index 0000000..9d721b5 --- /dev/null +++ b/app/src/main/java/org/apache/taverna/mobile/utils/NonSwipeableViewPager.java @@ -0,0 +1,59 @@ +package org.apache.taverna.mobile.utils; + +import android.content.Context; +import android.support.v4.view.ViewPager; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.animation.DecelerateInterpolator; +import android.widget.Scroller; + +import java.lang.reflect.Field; + +public class NonSwipeableViewPager extends ViewPager { + + public NonSwipeableViewPager(Context context) { + super(context); + setMyScroller(); + } + + public NonSwipeableViewPager(Context context, AttributeSet attrs) { + super(context, attrs); + setMyScroller(); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent event) { + // Never allow swiping to switch between pages + return false; + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + // Never allow swiping to switch between pages + return false; + } + + //down one is added for smooth scrolling + + private void setMyScroller() { + try { + Class<?> viewpager = ViewPager.class; + Field scroller = viewpager.getDeclaredField("mScroller"); + scroller.setAccessible(true); + scroller.set(this, new MyScroller(getContext())); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public class MyScroller extends Scroller { + public MyScroller(Context context) { + super(context, new DecelerateInterpolator()); + } + + @Override + public void startScroll(int startX, int startY, int dx, int dy, int duration) { + super.startScroll(startX, startY, dx, dy, 350 /*1 secs*/); + } + } +} \ No newline at end of file