Android的Fragment左右滑动

当在Android应用中使用Fragment并希望实现左右手势滑动时,通常使用ViewPager或TabHost结合Fragment。然而,当Fragment内含有ListView时,ListView会捕获滑动事件导致手势无效。为解决这个问题,可以采取在Fragment的父Activity定义一个触摸事件接口,Fragment在onCreate中实现此接口,并通过自定义的GestureDetector监听滑动事件,从而在监听器中处理滑动行为,避免ListView的干扰。
摘要由CSDN通过智能技术生成

app实现界面的左右手势滑动一般采用的是viewpager或者是Tabhost结合Fragment使用。这里对于使用viewpage的方式就不做赘述(因为viewpage本身是带手势的)。使用手势的时候一般的时候使用GestureDetector 进行监听,但是如果Fragment当中有ListView的时候,ListView会把左右滑动的给吞噬掉,所以直接使用GestureDetector 会不起作用。

为了解决ListView影响手势滑动的问题,我们提供了一个解决的思路:在Fragment的父Activity当中设置一个封装触摸事件的接口,在Fragment当中的Oncreate方法当中实现这个接口,在实现的方法中调用自定义的手势滑动的监听,在监听方法当中就可以实现自己想要实现的结果了。

在父类Activity当中封装的接口:

private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>(
            10);

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值