如何禁止viewPage左右滑动的效果
1个回答
展开全部
在使用viewPager+Fragment时候,能够实现类似微信左右切换的效果,但是有时候根据App的需要,不需要左右滑动的效果,例如QQ,此时需要禁止左右滑动的效果。
在layout文件中,定义了一个viewPager,在Java代码中:
取消左右滑动关键代码:添加setOnTouchListener方法,如下
[java] view plain copy
private ViewPager mViewPage;
......
mViewPage.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return true;
}
});
其中onTouch()方法恒返回true,便可以禁止左右滑动的效果。因为返回值是boolean类型,如果他的返回值是true,那么说明本次触摸事件被消费掉了,会传进来一个新的触摸事件。如果是false,那么说明没有被消费掉,就不会换入一个新的事件。只要返回值改成true,就都不会执行触摸事件了
此时,在界面上,无法通过左右切换来显示不同的Fragment。此时实现Fragment可以使用按钮Button来实现,或者通过其他途径来显示不同的Fragment。
在layout文件中,定义了一个viewPager,在Java代码中:
取消左右滑动关键代码:添加setOnTouchListener方法,如下
[java] view plain copy
private ViewPager mViewPage;
......
mViewPage.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return true;
}
});
其中onTouch()方法恒返回true,便可以禁止左右滑动的效果。因为返回值是boolean类型,如果他的返回值是true,那么说明本次触摸事件被消费掉了,会传进来一个新的触摸事件。如果是false,那么说明没有被消费掉,就不会换入一个新的事件。只要返回值改成true,就都不会执行触摸事件了
此时,在界面上,无法通过左右切换来显示不同的Fragment。此时实现Fragment可以使用按钮Button来实现,或者通过其他途径来显示不同的Fragment。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询