我一直在研究与Google MapView相关的问题,其中嵌入在活动中的MapView与托管SupportMapFragment的片段重叠或停留在前台。
以下是 activity.xml 文件来源
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@color/loginbg">
<include layout="@layout/tool_bar" android:id="@+id/tbar" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tbar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<com.google.android.gms.maps.MapView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
android:layout_gravity="center">
</com.google.android.gms.maps.MapView>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_below="@+id/tbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:visibility="visible" >
</FrameLayout>
</FrameLayout>
</RelativeLayout>
上面的 fragment_container 是我正在加载托管SupportMapFragment的片段的容器。
以下是 fragment.xml
的布局<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/ColorPrimaryDarkNew"
android:gravity="center"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/map_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</FrameLayout>
<Button
android:id="@+id/btnDone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:layout_gravity="top|right"
style="@style/BlueButton"
android:text="Continue"/>
</FrameLayout>
</LinearLayout>
当我运行应用程序时,它显示如下,其中片段的上半部分与托管活动MapView重叠。然而,我注意到的一件事是作为片段一部分的右上方按钮正确显示。
https://i.stack.imgur.com/KkDry.png
在这方面的任何帮助都将受到高度赞赏。
以下是我正在使用的地图库版本
编译'com.google.android.gms:play-services-maps:9.2.1'