美文网首页
解决可以左右滑动listview的headview(添加了gri

解决可以左右滑动listview的headview(添加了gri

作者: MAX1 | 来源:发表于2017-07-18 18:49 被阅读65次

    使用场景:swipelistview.headview.addview(gridview)

    listview的headview和下面的items都在一个父布局里面,左右滑动必然会重写listview的ontouch事件即  onInterceptTouchEvent ,正常在item上 手指滑动的时候 会有左滑效果,但是如果 在headview中左右也会触发重写的touchlistener,但是headview通常是 viewpager或者 其他view不需要左右滑动操作,反而会放headview失去监听。

    解决办法是:在onInterceptTouchEvent中添加如下

    @Override

    public booleanonInterceptTouchEvent(MotionEvent ev) {

    intaction = MotionEventCompat.getActionMasked(ev);

    final floatx = ev.getX();

    final floaty = ev.getY();

    if(headView!=null){

    //判断是在headview范围内返回false

    Rect rect =newRect(headView.getLeft(),headView.getTop(),headView.getRight(),headView.getBottom());

    if(rect.contains((int)ev.getX(),(int)ev.getY())){

    return false;

    }}

    //实现你的逻辑。。   ↓

    }

    相关文章

      网友评论

          本文标题:解决可以左右滑动listview的headview(添加了gri

          本文链接:https://www.haomeiwen.com/subject/dsbhkxtx.html