2013-02-12 12 views
5

Tôi có chế độ xem bản đồ cho bản đồ android api v2 trong một hoạt động sử dụng menu trượt này https://github.com/iPaulPro/SlidingMenu. Menu trượt hoạt động tốt ngoại trừ trên trang bản đồ. Có chế độ xem màu đen bao gồm trình đơn trượt có kích thước chính xác của bản đồ. Đây là một ví dụ với chiều cao bản đồ được đặt ở 100dp để phác thảo ý tôi.Android MapView Với Menu trượt Che khuất Menu

View Issue

Nếu tôi chạm vào chế độ xem đó sẽ biến mất. Làm thế nào tôi có thể loại bỏ nó hoặc làm cho nó minh bạch? Tôi đã thử thủ thuật requestTransparentRegion(). Không có súc sắc ở đó.

+1

Whats thanh tìm kiếm iOS này ??? Điều đó có vẻ sai ... –

+0

Chỉ cần làm theo các bản tóm tắt. – smokingoyster

+0

Chỉ cần xem xét vấn đề này: http://www.grokkingandroid.com/android-tutorial-adding-suggestions-to-search/ –

Trả lời

13

Tìm thấy bài đăng tràn ngăn xếp này ViewPager with Google Maps API v2: mysterious black view và sử dụng lớp này thay cho đoạn bản đồ thông thường.

package com.myapp.gms.maps; 

import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.view.ViewGroup.LayoutParams; 
import android.widget.FrameLayout; 
import com.google.android.gms.maps.SupportMapFragment; 

/** 
* @author btate 
*/ 
public class TransparentSupportMapFragment extends SupportMapFragment { 

    public TransparentSupportMapFragment() {} 

    @Override 
    public View onCreateView(LayoutInflater inflater, 
           ViewGroup view, 
           Bundle savedInstance) { 

     View layout = super.onCreateView(inflater, view, savedInstance); 
     FrameLayout frameLayout = new FrameLayout(getActivity()); 
     frameLayout.setBackgroundColor(
      getResources().getColor(android.R.color.transparent)); 
     ((ViewGroup) layout).addView(frameLayout, 
      new ViewGroup.LayoutParams(
       LayoutParams.MATCH_PARENT, 
       LayoutParams.MATCH_PARENT 
      ) 
     ); 
     return layout; 
    } 

} 
+0

dude, u đã lưu ngày của tôi –

+0

câu trả lời tuyệt vời thanx – Ravi

0

Còn một giải pháp nữa cho vấn đề này. Tôi đang hiển thị MapFragment trong một đoạn khác. MapFragment được thêm động vào FrameLayout.

Giải pháp là sử dụng frameLayout.setVisibility(View.Visible)frameLayout.setVisibility(View.Gone) về các sự kiện mở và đóng của menu trượt. Nó không yêu cầu thêm một khung nhìn bổ sung. Và khu vực màu đen đã biến mất hoàn toàn.

getSlidingMenu().setOnOpenListener(
    new OnOpenListener() { 
     @Override 
     public void onOpen() { 
      frameLayout.setVisibility(View.GONE); 
     } 
    } 
); 

getSlidingMenu().setOnClosedListener(
    new OnClosedListener() { 

     @Override 
     public void onClosed() { 
      frameLayout.setVisibility(View.VISIBLE); 
     } 
    } 
); 
0

TransparentSupportMapFragment giải quyết vấn đề cho android 2.3.7 Cảm ơn bạn!