问题描述
- Android viewpage滑动
-
如果iewpage当前是在第一个页面 我用 viewpage.ontouch 监听iewpage的滑动viewpage
滑动,如果向左滑动,表示退出,向右滑动表示切换页面。
现在碰到的问题是:进入页面向右滑动,滑动到第二个页面,向左滑动,滑动到第一个页面,,
,然后我又滑动到第二个页面,再次往左滑想到第一个页面的时候,直接就执行 finish();了
这是为什么?.
或者谁有简单点的方法呢? viewpage 支持左右滑动,在第一个页面左滑退出!!!
解决方案
这个没什么好说的,没控制好,你把每次的x2,x1都打印出来,一分析就知道自己的问题了
解决方案二:
这是滑动两次直接退出了。 第一次滑动:X1 =0 X2=312
第二次滑动 X1=0 X2 =1078 直接超出Xconstant.w数据 所以退出了 。 不过我不知道这是为什么? X1 值没变呢
解决方案三:
依照你写的逻辑,第一次没有超出Xconstant.W当然不会退出,第二次满足条件当然会退出!!你的意思是不是只有在第一页时左滑退出??如果是,onTouch时判断是不是第一页不是则直接return,如果是第一页只要x2-x1大于0就直接finish,也不要搞什么距离了
解决方案四:
第一种,viewpager第一个子页面增加一个空页面,当滑到第一个页面直接finish,也就是onpageselected,当page==0时,finish
第二种,你的ontouch不要监听viewpager的,直接监听你之前第一个页面,如果是fragment,你直接在fragment里面写,如果是view,你就view.setontouchlistener
解决方案五:
我现在测试出来了 。X1 为什么没值。是因为
ACTION_DOWN 里面的方法没有被执行。这是为什么?
解决方案六:
最后的return false 改成 return true 试试
时间: 2024-08-20 04:26:47