diff options
author | stom79 <tschneider.ac@gmail.com> | 2019-02-09 09:36:56 +0100 |
---|---|---|
committer | stom79 <tschneider.ac@gmail.com> | 2019-02-09 09:36:56 +0100 |
commit | 47412695aadf1ae00d027ca3f2d2668d8a368d3d (patch) | |
tree | 44c7db70b8863abca4238a8385d9310e18235e94 | |
parent | eee60f107a21940dbd927f6e0e5dc22bef8335da (diff) |
Add a custom viewpager for swiping
-rw-r--r-- | app/src/main/java/fr/gouv/etalab/mastodon/helper/SwipeControledViewPager.java | 55 |
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; + } +} |