我在framelayout中有一个mapfragment。当用户点击标记时,我有一个以地图为中心的自定义cardview小部件。
我仍然希望地图监听器处于活动状态,但我不希望它拦截我放在它上面的新视图中的事件。
这是否与我在哪个视图/容器中扩充我的布局有关?
在地图上加注
//this listener handles the marker clicks
mClusterManager.setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener<MyItem>() {
@Override
public boolean onClusterItemClick(MyItem item) {
FrameLayout container = (FrameLayout)findViewById(R.id.map_layout);
View mapParkingSelected = getLayoutInflater().inflate(R.layout.map_parking_selected, null);
container.addView(mapParkingSelected);
return true;
}
});
儿童布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.SupportMapFragment"
map:cameraBearing="000"
map:cameraTargetLat="41.8236"
map:cameraTargetLng="-71.4222"
map:cameraZoom="17"
/>
</FrameLayout>
父母布置
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
>
<android.support.v7.widget.CardView
android:id="@+id/parking_selected_card"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
card_view:cardElevation="20dp"
card_view:cardCornerRadius="10dp"
card_view:cardBackgroundColor="#ffffff"
android:layout_gravity="center"
android:layout_margin="@dimen/fab_margin"
>
<LinearLayout
android:id="@+id/parking_selected_textContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="10dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textSize="30sp"
android:textStyle="bold|italic"
android:text="@string/map_spot_name"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#000000"
android:id="@+id/imageView"
android:layout_gravity="center_horizontal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:text="@string/map_num_spotsAvailable"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:text="@string/map_spot_details"
/>
<Button
android:id="@+id/submit_button"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_gravity="bottom"
android:background="#21C064"
android:textColor="#ffffff"
android:textSize="20sp"
android:text="Make Reservation" />
</LinearLayout>
</android.support.v7.widget.CardView>
答案 0 :(得分:0)
我有一段时间有同样的问题,但我的是关于地图上的查看寻呼机上的手势面板。仍在努力,但这篇文章真的有帮助