Scrollview에서 중첩 된 Baidu 맵으로 인한 슬라이딩 충돌 해결

바이두지도는 최근 프로젝트에서 유용하며 일반적으로지도는 전체 인터페이스에 표시되지만,이 제품을 디자인 할 때 프로젝트 관련 정보를 입력하고 아래지도에서 위치를 선택합니다. 프로젝트의 위치입니다.

레이아웃은 아래 그림과 같습니다. (상단의 일부가 미끄러 져 나오고 맵의 일부가 미끄러 져 나오지 않았습니다)여기에 사진 설명 삽입

위의 정보가 화면에 채워져 있기 때문에 Scrollview에서 MapView를 중첩하는 데 사용됩니다. 모두가 MapView가 슬라이드 할 수 있다는 것을 알고 있지만, Scrollview에 중첩 된 경우 MapView는 자식 컨트롤이므로 슬라이딩 이벤트는 부모가 제어합니다. 컨테이너 Scrollview가 소비되므로 맵을 아래로 내리고 싶을 때 매번 스크롤하는 Scrollview입니다.

어떻게해야합니까? ? ?

BaiduMap에서 setOnMapTouchListener listener를 설정하기 만하면 BaiduMap을 터치하면 Scrollview의 터치를 차단할 수 있습니다.

다음과 같은 :

mBaiduMap.setOnMapTouchListener(new BaiduMap.OnMapTouchListener() {
            @Override
            public void onTouch(MotionEvent motionEvent) {
                if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
                    scrollView.requestDisallowInterceptTouchEvent(false);
                } else {
                    scrollView.requestDisallowInterceptTouchEvent(true);
                }
            }
        });

슬라이딩 충돌을 완벽하게 해결하여지도에서 손가락을 드래그하면 원하는대로지도를 드래그 할 수 있습니다.

추천

출처blog.csdn.net/qq77485042/article/details/82853007