2013-02-12 15 views
5

Ho una vista mappa per le mappe di Android api v2 in un'attività che utilizza questo menu scorrevole https://github.com/iPaulPro/SlidingMenu. Il menu scorrevole funziona alla grande tranne che sulla pagina della mappa. C'è una vista nera che copre il menu scorrevole che è la dimensione esatta della mappa. Questo è un esempio con l'altezza della mappa impostata a 100 dpi per delineare ciò che intendo.Android MapView con menu di oscuramento Menu di oscuramento

View Issue

Se io tocco che vista andrà via. Come potrei liberarmene o renderlo trasparente? Ho provato il trucco requestTransparentRegion(). Nessun dado lì.

+1

Che cos'è questa barra di ricerca iOS ??? Sembra proprio sbagliato ... –

+0

Basta seguire i comps. – smokingoyster

+0

Basta dare un'occhiata a questi: http://www.grokkingandroid.com/android-tutorial-adding-suggestions-to-search/ –

risposta

13

Trovato questo stack overflow post ViewPager with Google Maps API v2: mysterious black view e utilizzato questa classe al posto del frammento di mappa normale.

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

amico, mi hai salvato la giornata –

+0

great answer thanx – Ravi

0

C'è ancora una soluzione a questo problema. Sto mostrando MapFragment all'interno di un altro frammento. MapFragment viene aggiunto dinamicamente al FrameLayout.

La soluzione è utilizzare frameLayout.setVisibility(View.Visible) e frameLayout.setVisibility(View.Gone) per aprire e chiudere gli eventi del menu scorrevole. Non richiede una vista aggiuntiva da aggiungere. E l'area nera è completamente sparita.

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 risolto il problema per Android 2.3.7 Grazie!

Problemi correlati