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);
}
}
//参考