不可滑动的ViewPager

xiaoxiao2021-02-28  79

mport com.uninew.util.LogTool; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.KeyEvent; import android.view.MotionEvent; public class NoScrollViewPager extends ViewPager { //禁止滑动:1.手动滑动翻页 2.物理按键/上一页下一页导致的翻页 private boolean noScroll = true; public NoScrollViewPager(Context context, AttributeSet attrs) { super(context, attrs); } public NoScrollViewPager(Context context) { super(context); } public void setNoScroll(boolean noScroll) { this.noScroll = noScroll; } @Override public void scrollTo(int x, int y) { super.scrollTo(x, y); } @Override public boolean onTouchEvent(MotionEvent arg0) { if (noScroll) return false; else return super.onTouchEvent(arg0); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (noScroll) return false; else return super.onInterceptTouchEvent(arg0); } @Override public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, smoothScroll); LogTool.i("-->ViewPager setCurrentItme: " + item + " smoothScroll: " + smoothScroll); } @Override public void setCurrentItem(int item) { LogTool.i("-->ViewPager setCurrentItme: " + item); super.setCurrentItem(item); } @Override public boolean executeKeyEvent(KeyEvent event) { // TODO Auto-generated method stub // 物理按键上一页.下一页 导致的翻页-->禁止 if (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_UP) { if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT || event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT) { return false; } } return super.executeKeyEvent(event); } @Override public boolean arrowScroll(int arg0) { // TODO Auto-generated method stub return super.arrowScroll(arg0); } } //参考
转载请注明原文地址: https://www.6miu.com/read-68166.html

最新回复(0)