1
부모로 NestedScrollView
, 하위에 googleMap
을 포함하는 조각이 있습니다. 내가 아래쪽 또는 위쪽으로지도에서 스크롤하면 NesetdScrollView가 스크롤되고지도 내부를 스크롤 할 수 없습니다. 지금까지 투명 이미지를 생성하여 스택 오버 플로우로부터 솔루션을 시도했지만 나에게 도움이되지 못했습니다.Google지도 NestedScrollView 내에서 조각 스크롤
XML :
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/car_progress"
android:id="@+id/nested_scroll"
android:visibility="gone"
>
............
............
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/first_section"
android:visibility="gone"
android:id="@+id/map_wrapper"
android:orientation="vertical"
android:layout_marginTop="10dp"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/dealer_location"
android:textAllCaps="true"
android:textColor="@color/colorPrimary"
style="@style/BoldStyle"
android:layout_marginLeft="@dimen/single_title_dimen"
android:layout_marginRight="@dimen/single_title_dimen"
android:id="@+id/dealer_head"
/>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="200dp"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_below="@+id/dealer_head"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imagetrans"
android:layout_alignTop="@+id/map"
android:layout_alignBottom="@+id/map"
android:layout_alignEnd="@+id/map"
android:layout_alignRight="@+id/map"
android:layout_alignLeft="@+id/map"
android:layout_alignStart="@+id/map"
android:src="@android:color/transparent"/>
</RelativeLayout>
.....
.....
</android.support.v4.widget.NestedScrollView>
코드 :
transImg.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.
nv.requestDisallowInterceptTouchEvent(true);
// Disable touch on transparent view
return false;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
nv.requestDisallowInterceptTouchEvent(false);
return true;
case MotionEvent.ACTION_MOVE:
nv.requestDisallowInterceptTouchEvent(true);
return false;
default:
return true;
}
}
});
나는 활동에서 getChildFragmentManager을()에 액세스 할 수 없습니다. –
getChildFragmentManager()는 다른 프래그먼트 안에있는 프래그먼트에 액세스하려는 경우에만 사용됩니다. 어떤 액티비티 내에서 프래그먼트에 액세스하려면 getSupportFragmentManager() –
감사합니다 @AshishJohn을 사용합니다.이 기능은 완벽하게 작동했습니다. –