将自定义页脚按钮添加到 Android 上的 Google 地图标记
Adding custom footer buttons to Google Maps Marker on Android
当我单击 MapFragment 中的标记时,地图底部会出现两个按钮(用于路线和搜索)。如何自定义这些按钮?
我在这里搜索了一些提示,但只找到了如何将按钮添加到信息中 window...
谢谢。
您可以使用一个 FrameLayout
和 3 个 children,并将底部按钮的 android:visibility
设置为 invisible
。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<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"
/>
<Button
android:layout_gravity="bottom|left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Button 1"/>
<Button
android:layout_gravity="bottom|right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Button 2"
/>
</FrameLayout>
(如果你没有设置 android:visibility="invisible"
,你可以在你的 mapFragment 底部看到这两个按钮,见下图)
在你的onMarkerClick
方法中,你可以将这2个按钮的不可见改为可见,示例代码:
button1.setVisibility(View.VISIBLE);
button2.setVisibility(View.VISIBLE);
当我单击 MapFragment 中的标记时,地图底部会出现两个按钮(用于路线和搜索)。如何自定义这些按钮?
我在这里搜索了一些提示,但只找到了如何将按钮添加到信息中 window...
谢谢。
您可以使用一个 FrameLayout
和 3 个 children,并将底部按钮的 android:visibility
设置为 invisible
。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<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"
/>
<Button
android:layout_gravity="bottom|left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Button 1"/>
<Button
android:layout_gravity="bottom|right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Button 2"
/>
</FrameLayout>
(如果你没有设置 android:visibility="invisible"
,你可以在你的 mapFragment 底部看到这两个按钮,见下图)
在你的onMarkerClick
方法中,你可以将这2个按钮的不可见改为可见,示例代码:
button1.setVisibility(View.VISIBLE);
button2.setVisibility(View.VISIBLE);