GoogleMaps вид внутри SwipeRefreshLayout
Мне нужно разместить вид карты Google внутри SwipeRefreshLayout, проблема в том, что SwipeRefreshLayout перезаписывает карты Google при сенсорном событии. Когда я пытаюсь прокрутить карту вверх, срабатывает событие SwipeRefreshLayout. Как я могу отключить события SwipeRefreshLayout при прокрутке карт Google?
1 ответ
Решение
Я нашел решение этой проблемы в этой теме, предложенной Shiba J. Я расширил SwipeRefreshLayout и переопределил onInterceptTouchEvent.
public class OverviewSwipeRefreshLayout extends SwipeRefreshLayout {
public OverviewSwipeRefreshLayout(Context context) {
super(context);
}
public OverviewSwipeRefreshLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
final int action = ev.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
super.onTouchEvent(ev);
break;
case MotionEvent.ACTION_MOVE:
return false;
case MotionEvent.ACTION_CANCEL:
super.onTouchEvent(ev);
break;
case MotionEvent.ACTION_UP:
return false;
default:
break;
}
return false;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
super.onTouchEvent(ev);
return true;
}
}