Social Icons

2013年5月15日 星期三

今天我學到 - 如何讓Google map view (v2),在滾動頁面時不會產生殘影

使用Google map api v2時,發生了一個大問題,程式中的map view不是佔據整個頁面,只是其中的一部分。這樣問題就來了,當滾動(Scrolling)時原本map view的位置就會產生殘影,整個畫面就被破壞掉了。(後來發現如果將Google Map View放在ViewPager,也會有類似的問題)  



Google了一下,解決方法其實很簡單,也很髒,只要在MapView上,放上一層透明的View就可以。我想是因為V2的map view是使用openGL來繪圖的緣故,會造成redraw區域和傳統的redraw的不同,所以在上面放上一層透明的標準view,讓它可以重畫就行了。真的夠髒,但是夠實際。;-)
                <!-- map -->
                <RelativeLayout
                 android:layout_width="match_parent"
                 android:layout_height="200dp"
                    >
                 <fragment
                     android:id="@+id/map_frg"
                     android:name="com.itraveltech.m1app.pages.childs.GMapFragment"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent" />
                 
                 <!-- to avoid google map's scrolling problem -->
                 <View
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
                     android:background="@color/transparent" />
                    
                </RelativeLayout>

沒有留言:

張貼留言