summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstom79 <tschneider.ac@gmail.com>2019-02-09 09:36:56 +0100
committerstom79 <tschneider.ac@gmail.com>2019-02-09 09:36:56 +0100
commit47412695aadf1ae00d027ca3f2d2668d8a368d3d (patch)
tree44c7db70b8863abca4238a8385d9310e18235e94
parenteee60f107a21940dbd927f6e0e5dc22bef8335da (diff)
Add a custom viewpager for swiping
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/helper/SwipeControledViewPager.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/SwipeControledViewPager.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/SwipeControledViewPager.java
new file mode 100644
index 000000000..7b596cc06
--- /dev/null
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/SwipeControledViewPager.java
@@ -0,0 +1,55 @@
+package fr.gouv.etalab.mastodon.helper;
+
+/* Copyright 2019 Thomas Schneider
+ *
+ * This file is a part of Mastalab
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * Mastalab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Mastalab; if not,
+ * see <http://www.gnu.org/licenses>. */
+import android.content.Context;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+
+public class SwipeControledViewPager extends ViewPager {
+ private boolean enableSwipe;
+
+ public SwipeControledViewPager(Context context) {
+ super(context);
+ init();
+ }
+
+ public SwipeControledViewPager(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ private void init() {
+ enableSwipe = true;
+ }
+
+ @Override
+ public boolean onInterceptTouchEvent(MotionEvent event) {
+ // Never allow swiping to switch between pages
+ return enableSwipe && super.onInterceptTouchEvent(event);
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ // Never allow swiping to switch between pages
+ return enableSwipe && super.onTouchEvent(event);
+
+ }
+
+ public void setEnableSwipe(boolean enableSwipe) {
+ this.enableSwipe = enableSwipe;
+ }
+}