카카오지도에 이에 2편 구글지도를 스크뷰에 뺏기지 않으려면 어떻게 해야할까?
카카오지도는 Fragment안에 지도를 첨부하고 있습니다.
xml부터 보시죠.
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mapFragmentResto"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_margin="5dp"
tools:context="com.deltatechnepal.foodpal.RestoDetailActivity">
<ImageView android:id="@+id/ivMapTransparent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@android:color/transparent" />
</fragment>
</ScrollView>
fragment에 구글 지도가 나올것입니다.
카카오는 Layout에 지도를 보여주기 때문에 그 Layout이 직접 터치를 뺏기지 않도록 코드를 적는게 가능하지만,
구글 같은경우는 그게 되지 않습니다.
그리하여 fragment아래의 ImageView를 활용하여, 터치를 뺏기지 않도록 유도하는 것 입니다.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.mapFragmentResto);
mapFragment.getMapAsync(this);
final ScrollView svRestoDetail = (ScrollView) findViewById(R.id.svRestoDetail);
ImageView ivMapTransparent = (ImageView) findViewById(R.id.ivMapTransparent);
ivMapTransparent.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// Disallow ScrollView to intercept touch events.
svRestoDetail.requestDisallowInterceptTouchEvent(true);
// Disable touch on transparent view
return false;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
svRestoDetail.requestDisallowInterceptTouchEvent(false);
return true;
case MotionEvent.ACTION_MOVE:
svRestoDetail.requestDisallowInterceptTouchEvent(true);
return false;
default:
return true;
}
}
});
이미지뷰에 setOnTouchListener를 추가하여 메인 스크롤에 터치를 뺏기지 않도록 하는 코드입니다.
그럼 구글지도 문제없이 사용하실 수 있습니다.
'안드로이드 코드' 카테고리의 다른 글
20201221 안드로이드 블루투스로 소리 보내기 (2) | 2020.12.21 |
---|---|
나혼자보는 카카오맵 총정리 (0) | 2020.11.08 |
안드로이드) 스크롤뷰 안에 카카오지도 (0) | 2020.09.23 |
안드로이드) TabLayout 처음 설정 소개 영상 (0) | 2020.09.19 |
안드로이드 액티비티 배경 투명하게 만들기 (0) | 2020.09.14 |
댓글