android谷歌地图v2片段黑色bg问题

时间:2013-02-20 11:35:09

标签: android

滚动时如何在google map v2中使黑色背景透明?

<RelativeLayout
                    android:id="@+id/relativeLayout1"
                    android:layout_width="match_parent"
                    android:layout_height="134dp"
                    android:layout_alignParentTop="true"
                    android:layout_gravity="center" >

                    <fragment
                        xmlns:android="http://schemas.android.com/apk/res/android"
                        android:id="@+id/map"
                        android:layout_width="fill_parent"
                        android:layout_height="434dp"
                        android:layout_marginBottom="-150dp"
                        android:layout_marginLeft="3dp"
                        android:layout_marginRight="3dp"
                        android:layout_marginTop="-150dp"                       
                        class="com.google.android.gms.maps.SupportMapFragment"
                        android:cacheColorHint="@color/transparent"
                        android:clickable="true" />

                    <FrameLayout
                        android:id="@+id/fram_lay"
                        android:layout_width="match_parent"
                        android:layout_height="172dp" >

                        <android.support.v4.view.ViewPager
                            android:id="@+id/fragment_container"
                            android:layout_width="fill_parent"
                            android:layout_height="134dp" >
                        </android.support.v4.view.ViewPager>

                        <FrameLayout
                            android:id="@+id/fram_lay2"
                            android:layout_width="match_parent"
                            android:layout_height="334dp"
                            android:layout_marginTop="-100dp"                            
                            android:background="@android:color/transparent"
                            android:cacheColorHint="#00000000" />
                    </FrameLayout>
                </RelativeLayout>

我在地图上给出了透明框架,但仍然是闪烁的。 请有人给我一个解决方案 谢谢

2 个答案:

答案 0 :(得分:0)

MapView上方的透明框架只能解决黑洞问题,每次地图重新加载资源时,即调用OnCreateView()时,仍会发生闪烁。

尝试发布here的解决方案,在主Activity中添加MapView,然后在初始化后隐藏它。

答案 1 :(得分:0)

背后的原因是Map使用SurfaceView,当App创建此视图时,它会在Activity的后面创建一个Window并打出一个洞,意味着你的Activity窗口中的内容无法在SurfaceView的原始位置。

对我而言,这就像魅力一样,你可以使用这个库

https://github.com/NyxDigital/NiceSupportMapFragment/

这对我来说很好。