2013-07-18 40 views
17

Tôi có vấn đề này khi mở ngăn kéo trên bánh gừng và phía sau là bản đồ google v2. Bản đồ nên ở trên màn hình phía sau được trên đầu trang của tất cả mọi thứ.ngăn điều hướng bản đồ google v2, ngăn chặn bản đồ google

Bây giờ tôi có thể bỏ qua điều này bằng cách ẩn bản đồ khi ngăn kéo mở ra và hiển thị nó khi đóng nhưng tôi đang tìm kiếm giải pháp thanh lịch hơn nếu có ai đó đến với bất kỳ?

Map overlaying navigation drawer

Trả lời

7

Có một lỗi với bản đồ google api v2 và không gian đen. Có lẽ bạn đã có vấn đề tương tự. Đối với giải pháp tìm ở đây: https://github.com/jfeinstein10/SlidingMenu/issues/228 và ở đây: https://github.com/jfeinstein10/SlidingMenu/issues/168

Theo như tôi nhớ các giải pháp là một trong những điều này:

  • mở rộng Google Maps và làm cho nó để vẽ lại mỗi xem thường xuyên hơn
  • bộ chỉ mục z của bản đồ trên thông số hàng đầu cho đúng
  • đặt lớp phủ trong suốt lên chế độ xem Google Maps
+2

đặt lớp phủ trong suốt trên Google Maps xem, làm việc cho tôi. –

6

Tôi đã gặp vấn đề tương tự ở đây trên ICS 4.0.4. Các giải pháp được đề cập trong bài đăng github của jfeinstein10 dường như không hoạt động đối với tôi. Nhưng tôi đã tìm được cách giải quyết, thậm chí nó không phải là tốt nhất.

Khi tạo đối tượng DrawerToggle tôi ghi đè sự kiện này

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

} 

bringChildToFront và requestLayout phương pháp nên khắc phục những vấn đề ngăn kéo render trong khi setScrimColor sẽ thoát khỏi cái bóng. Quá xấu mà tôi đã không tìm thấy một workaround để render bóng một cách chính xác là tốt. Hi vọng điêu nay co ich.

+0

Làm việc hoàn hảo nhờ: D – Spl2nky

13

Chỉ cần quấn SupportMapFragment với FrameLayout và đặt trong suốt Xem trên như thế này:

<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" /> 

Thử nghiệm với Android 4.0.4 - hoạt động tốt đối với tôi

+0

Trong trường hợp của tôi - thêm chế độ xem trong suốt vào bố cục hiện có, ngay sau bản đồ của bản đồ, hoạt động như một nét duyên dáng. Chỉ vì mục đích lịch sử - phiên bản ORIGINALLY này hoạt động tốt trong HTC Desire X 4.1.1, nhưng không thành công trên Sony 4.0.0 và HTC Desire SV 4.0.1. Bây giờ - hoạt động ở mọi nơi. –

+0

Giải pháp này làm việc cho tôi tuyệt vời +1; D – neferpitou

3

Bạn nên ghi đè lên các chức năng onDrawerSlide và di chuyển ngăn đến trước

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

Cảm ơn. Giải quyết vấn đề của tôi với GingerBread. – Ton

Các vấn đề liên quan