触摸按钮/小部件覆盖在地图触发器地图侦听器上

时间:2015-07-05 22:05:24

标签: android google-maps

我在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>

1 个答案:

答案 0 :(得分:0)

我有一段时间有同样的问题,但我的是关于地图上的查看寻呼机上的手势面板。仍在努力,但这篇文章真的有帮助

https://mobiarch.wordpress.com/2013/11/21/prevent-touch-event-theft-in-android/comment-page-1/#comment-1098