List view
i want the sliding layer to be a list view , but swiping on it is not working ??
Hi! Does the layer stick horizontally or vertically? If it scrolls vertically i does not make too much sense from a UX perspective to have scrolling content. Also the touch events will collide with each other: the deepest child always consume touch events, otherwise the list would never scroll. If the layer is bound to the right or left side and listview scrolls vertically, you should be able to swipe horizontally.
What's your specific case? The more you share the better :)
hii , thanks for the reply , the layer is bound to the right and listview scrolls vertically, but i should not be able to swipe to the right side , because when i try to swipe on list on item to the right , the layer close
I see that. So your listView allows swiping items away horizontally. That could be a confusing experience for users. For now the library consumes the event if it can handle it, or pass it to the next listener otherwise. That was done intentionally. What you can do though both to provide a more usable experience and avoid the layer consuming the event is to allow swiping elements to the opposite direction of the layer. So in this case, allowing swiping elements in the list to the left when the layer is fully open.
Let me know if that works for you, otherwise we can get it fixed.
@JlUgia, is there a way to override the x distance necessary to close the layer? So when flinging a listview, you are not closing the layer?
Edit: This works for most of the time. But that doesn't change the fact that you can swipe a layer closed with what looks like a very small amount of x movement
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
slidingLayer.requestDisallowInterceptTouchEvent(true);
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});