我在GoogleMap
中显示RelativeLayout
,其中包含TextView
(以及其他内容):
<RelativeLayout
width=match_parent
height=match_parent>
<Map
width=match_parent
height=match_parent />
<TextView
with=100dp
height=100dp />
</RelativeLayout>
出于某种原因,如果我回家,然后重新打开应用程序,地图将覆盖(覆盖)TextView
。
我尝试使用SupportMapFragment
和MapView
(使用zOrderOnTop="false"
)但没有效果。
我还尝试在onResume
/ onPause
中显示/隐藏地图,没有效果。
我也有Drawer
issue,但建议的解决方案只解决了Drawer
问题。
版本:
com.google.android.gms:play-services:4.2.+
compileSdkVersion 19
minSdkVersion 14
targetSdkVersion 14
。
注意:此问题仅发生在Samsung Galaxy SII(4.0.4)上。 任何的想法?感谢。
更新:我还尝试从代码而不是XML中膨胀Fragment
,或者使用GoogleMapOptions
来设置zOrderOnTop(false)
,但结果仍相同......
更新2:我想我缩小了问题范围:
工作:
drawer.xml
<Drawer>
<RelativeLayout
width=match_parent
height=match_parent>
<RelativeLayout
width=match_parent
height=match_parent>
<Map
width=match_parent
height=match_parent>
<View
width=match_parent
height=match_parent
background=transparent>
</RelativeLayout>
<TextView
width=100dp
height=100dp>
</RelativeLayout>
<ListView /> <!-- menu -->
</Drawer>
不工作:
drawer.xml
<Drawer>
<FrameLayout /> <!-- fragment container -->
<ListView /> <!-- menu -->
</Drawer>
map.xml
<RelativeLayout
width=match_parent
height=match_parent>
<RelativeLayout
width=match_parent
height=match_parent>
<Map
width=match_parent
height=match_parent>
<View
width=match_parent
height=match_parent
background=transparent>
</RelativeLayout>
<TextView
width=100dp
height=100dp>
</RelativeLayout>
一种解决方案是在drawer.xml中声明Map,然后在需要时使用setVisibility
显示/隐藏它......有什么更好的建议吗?
答案 0 :(得分:0)
你应该尝试:
<RelativeLayout
android:layout_width="match_parent"
android:layout_width="match_parent">
<!-- Extra hack ViewGroup to fix Map z-ordering -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Map
android:layout_width="match_parent"
android:layout_height="match_parent" />
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"/>
</RelativeLayout>
<TextView
with=100dp
height=100dp />
</RelativeLayout>
至少对我而言,这足以解决z-order的问题。我相信这个问题只对Jellybean设备产生影响,这就解释了为什么你会在你的SII上看到它。