如何禁止viewPage左右滑动的效果

发布网友 发布时间:2022-04-23 09:24

我来回答

1个回答

热心网友 时间:2023-10-09 11:09

在使用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。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com