안녕하세요.
오늘은 스크롤뷰 안에 카카오 지도를 넣고
지도를 움직이려고 하는데
자꾸 스크롤뷰가 움직이는거 경험 하셨나요??
그 이유는 스크롤뷰가 그 터치 이벤트를 뺏어 간다는 것입니다.
그래서 그 부분을 해결하는 방법을 간단한 코드로 확인할 수 있습니다.
MapView mapView = new MapView(this);
ViewGroup mapViewContainer = (ViewGroup) findViewById(R.id.map_layout);
mapViewContainer.addView(mapView);
이게 카카오에서 제공하는 안드로이드 자바 코드 입니다.
여기서 터치 부분 이벤트를 넣는 부분은 mapView입니다.
ScrollView mainScrollView = findViewById(R.id.main_scrollview);
mapView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
int action = motionEvent.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
mainScrollView.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
mainScrollView.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_MOVE:
mainScrollView.requestDisallowInterceptTouchEvent(true);
break;
}
return false;
}
});
우선 가장 바깥의 Scrollview를 불러오고,
mapView에 모션이벤트가 생길때
mainScrollView.requestDisallowInterceptTouchEvent(true);
스크롤에 터치이벤트를 뺏기지 않는다는 코드입니다.
이렇게 하면 문제없이 카카오지도를 사용하실 수 있을것 입니다 !!
'안드로이드 코드' 카테고리의 다른 글
나혼자보는 카카오맵 총정리 (0) | 2020.11.08 |
---|---|
안드로이드) 스크롤뷰 안에 구글지도 (0) | 2020.09.23 |
안드로이드) TabLayout 처음 설정 소개 영상 (0) | 2020.09.19 |
안드로이드 액티비티 배경 투명하게 만들기 (0) | 2020.09.14 |
아무것도 안정확해서 내가 쓰는 안드로이드 <-> PHP <-> mysql (3) 안드로이드로 JSON 파일 받아보기 (0) | 2020.09.05 |
댓글