package de.blau.android.views; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import de.blau.android.R; /** * * @see <a href="https://blog.svpino.com/2011/08/29/disabling-pagingswiping-on-android">disabling paging/swiping on android</a> * */ public class ExtendedViewPager extends ViewPager { private static final String DEBUG_TAG = ExtendedViewPager.class.getName(); private boolean enabled; public ExtendedViewPager(Context context) { super(context); this.enabled = true; } public ExtendedViewPager(Context context, AttributeSet attrs) { super(context, attrs); this.enabled = true; } @Override public boolean onTouchEvent(MotionEvent event) { if (this.enabled) { return super.onTouchEvent(event); } return false; } @Override public boolean onInterceptTouchEvent(MotionEvent event) { if (this.enabled) { return super.onInterceptTouchEvent(event); } return false; } public void setPagingEnabled(boolean enabled) { Log.d(DEBUG_TAG,"Setting paging enabled to " + enabled); this.enabled = enabled; try { ExtendedPagerTabStrip tabStrip = (ExtendedPagerTabStrip) findViewById(R.id.pager_header); if (tabStrip != null) { tabStrip.setPagingEnabled(enabled); } } catch (Exception ex) { Log.d(DEBUG_TAG,"Exception in setPAgingEnabled " + ex); } } }