转至:http://www.2cto.com/kf/201602/489829.html
最开始做的整个页面都可以滑动类似微信,但后来首页改版,frament内的滑动效果太多,就要去掉整个activity的滑动效果,但是想改起来快一点,就想到把viewpager滑动效果禁止掉,只能点击选择,上网一搜还真有并且很好用就推荐下。但是点击选择后还有滑动的效果,后来就想把viewpager的滑动动画去掉,搜了搜没找到,后来发现把滑动的切换时间可以改成不需要切换时间,这样就ok了,下面是源码。
import
android.content.Context;
import
android.support.v4.view.ViewPager;
import
android.util.AttributeSet;
import
android.view.MotionEvent;
public
class
NoScrollViewPager
extends
ViewPager {
private
boolean
noScroll =
true
;
//true 代表不能滑动 //false 代表能滑动
public
NoScrollViewPager(Context context, AttributeSet attrs) {
super
(context, attrs);
// TODO Auto-generated constructor stub
}
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) {
/* return false;//super.onTouchEvent(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);
}
@Override
public
void
setCurrentItem(
int
item) {
super
.setCurrentItem(item,
false
);
//表示切换的时候,不需要切换时间。
}
}