不可滑动的ViewPager

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);
}
}
//参考
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值