我正在MapView
全屏使用 Google Map Android SDK,但我需要在 mapview 上显示另一个透明的完整视图。叠加层按预期显示,但是,尽管叠加层位于地图上,但仍可以控制地图(可以单击标记,可以移动地图)。
如何确保叠加层防止地图在视野中可控?
我正在MapView
全屏使用 Google Map Android SDK,但我需要在 mapview 上显示另一个透明的完整视图。叠加层按预期显示,但是,尽管叠加层位于地图上,但仍可以控制地图(可以单击标记,可以移动地图)。
如何确保叠加层防止地图在视野中可控?
在您的叠加视图父布局上添加以下内容。
android:focusable="true"
android:focusableInTouchMode="true"
android:clickable="true"
请记住,您需要将上述行放在覆盖视图的父布局上
您可以通过使叠加层可点击来做到这一点。将以下代码添加到xml
您的叠加视图中。
android:clickable="true"
例如我使用以下代码向页面添加一个按钮
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/location_map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#359c5e"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:padding="8dp"
android:layout_margin="5dp"
android:text="@string/go"
android:textColor="#ffffff" />
</RelativeLayout>