mardi 5 mai 2015

SwipeToRefresh does not respect requestDisallowInterceptTouchEvent() in Android

I'm trying to implement horizontal scrolling inside RecyclerView item. Everything work well except one issue. When vertical RecyclerView s in the top most position (it is wrapped in SwipeRefreshLayout) and user start draggin horizontally but then move finger down it starts SwipeToRefresh gesture (little circle starts to appear). I've tried to use requestDisallowInterceptTouchEvent(true) like it is described here but it does not help. So what I figured out is SwipeRefreshLayout does not respect requestDisallowInterceptTouchEvent() method. As you can see here it blocks ViewGroup's behavior:

@Override
public void requestDisallowInterceptTouchEvent(boolean b) {
    // Nope.
}

Is it possible to change this to call super.requestDisallowInterceptTouchEvent(b)? For example using reflection api ?

P.S. It is not that simple as extent SwipeRefreshLayout and override method because it is inside of third partly library...





Aucun commentaire:

Enregistrer un commentaire