2013-07-18 44 views
17

我有這個問題,當薑餅打開抽屜和後面是谷歌地圖V2。應該在屏幕背後的地圖應該放在首位。導航抽屜谷歌地圖V2,地圖封鎖抽屜

現在我可以通過隱藏地圖來繞開這個抽屜打開時顯示它,並在關閉時顯示它,但如果有人想出任何東西,我正在尋找更優雅的解決方案?

Map overlaying navigation drawer

回答

7

沒有與谷歌地圖API V2和黑色的空間的錯誤。也許你有類似的問題。至於我記得解決方案是這一 https://github.com/jfeinstein10/SlidingMenu/issues/168

:對於解決方案看這裏: https://github.com/jfeinstein10/SlidingMenu/issues/228 這裏延長谷歌地圖

  • 並使其重新繪製每個視圖更經常
  • 集地圖的頂部參數z指數爲真
  • 在Google地圖視圖中放置透明覆蓋圖
+2

將透明覆蓋圖放在Google地圖上查看,爲我工作。 –

6

我在ICS 4.0.4上遇到了同樣的問題。 jfeinstein10的github帖子中提到的解決方案似乎不適合我。但是我找到了一個解決方法,即使它不是最好的。

當創建DrawerToggle對象我重寫此事件

@Override 
public void onDrawerSlide(View drawerView, float slideOffset) 
{ 
    super.onDrawerSlide(drawerView, slideOffset); 
    mDrawerLayout.bringChildToFront(drawerView); 
    mDrawerLayout.requestLayout(); 
    mDrawerLayout.setScrimColor(Color.TRANSPARENT); 

} 

bringChildToFront和requestLayout方法應該克服抽屜渲染問題,同時setScrimColor將擺脫的陰影。太糟糕了,我還沒有找到正確渲染陰影的解決方法。希望這可以幫助。

+0

工作完美感謝:D – Spl2nky

13

只是包裝SupportMapFragment與FrameLayout裏,並把上​​述這樣的透明查看:

<FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <!-- Map fragment --> 
     <fragment 
      android:id="@+id/map" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      class="com.google.android.gms.maps.SupportMapFragment" /> 
     <!-- Transparent view --> 
     <View 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

與Android 4.0.4測試 - 對我來說

+0

在我的情況下 - 在現有佈局中添加透明視圖,恰好在地圖的frament之後,像魅力一樣工作。 只是爲了歷史的緣故 - 這原本在HTC Desire X 4.1.1中工作正常,但在索尼4.0.0和HTC Desire SV 4.0.1上失敗。現在 - 無處不在。 –

+0

此解決方案對我來說很棒+1; D – neferpitou

3

應覆蓋onDrawerSlide功能和正常工作將抽屜移到前面

Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar); 
    DrawerLayout Drawer = (DrawerLayout) findViewById(R.id.DrawerLayout); 
        mDrawerToggle = new ActionBarDrawerToggle(this, Drawer, toolbar, R.string.openDrawer, R.string.closeDrawer) { 

         @Override 
         public void onDrawerSlide(View drawerView, float slideOffset) 
         { 
          super.onDrawerSlide(drawerView, slideOffset); 
          Drawer.bringChildToFront(drawerView); 
          Drawer.requestLayout(); 
          Drawer.setScrimColor(Color.TRANSPARENT); 

         } 
        }; 
+1

謝謝。用GingerBread解決了我的問題。 – Ton