Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo poner dibujable como un fondo en InfoWindow (Google Maps API v2 para Android)?

Este es mi diseño personalizado para mi ventana de información:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/bg_infowindow" > <LinearLayout android:id="@+id/text_box" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView style="@style/TexTitle" android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView style="@style/TextDistance" android:id="@+id/distance" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </RelativeLayout> 

Y este es mi adaptador personalizado:

  • Reproducir audio desde una secuencia en android
  • Cómo detectar la utilización de datos en el entorno de Android
  • ¿Cómo funciona `onViewStateRestored` de Fragments?
  • Evento cuando se completa el FragmentTransaction
  • ¿Hay una necesidad de utilizar super.onActivityResult () en onActivityResult ()?
  • Configurar IntelliJ IDEA de tal manera que se detectó la fuente en git pero se detectó la raíz Vcs no registrada
  •  public class MapInfoWindowAdapter implements InfoWindowAdapter{ private LayoutInflater inflater; private Context context; public MapInfoWindowAdapter(Context context){ inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); this.context = context; } @Override public View getInfoContents(Marker marker) { // Getting view from the layout file View v = inflater.inflate(R.layout.map_popup, null); TextView title = (TextView) v.findViewById(R.id.title); title.setText(marker.getTitle()); TextView address = (TextView) v.findViewById(R.id.distance); address.setText(marker.getSnippet()); return v; } @Override public View getInfoWindow(Marker arg0) { // TODO Auto-generated method stub return null; } } 

    Y este es el resultado:

    Introduzca aquí la descripción de la imagen

    Sin embargo quiero que la costumbre dibujable como el único fondo para mi ventana de información, ¿Cómo lograr esto?

  • Android NDK: Error: debe estar habilitado con las opciones de compilador -std = c ++ 11 o -std = gnu ++ 11
  • Android Volley Request Identidad onErrorResponse Sección
  • Configuración de estilos globales para vistas en Android
  • Android: cómo quitar el botón back / home en la barra de acción
  • Java.lang.RuntimeException: No se han podido leer los descriptores de los archivos del canal de entrada desde el paquete
  • Botón My-Location de GoogleMaps v2 Android, no se muestra
  • 2 Solutions collect form web for “Cómo poner dibujable como un fondo en InfoWindow (Google Maps API v2 para Android)?”

    Reemplace los códigos en getInfoContents con getInfoWindow . La diferencia entre ellos es getInfoContents envuelve su View en ViewGroup con el fondo predeterminado.

     @Override public View getInfoWindow(Marker marker) { // Getting view from the layout file View v = inflater.inflate(R.layout.map_popup, null); TextView title = (TextView) v.findViewById(R.id.title); title.setText(marker.getTitle()); TextView address = (TextView) v.findViewById(R.id.distance); address.setText(marker.getSnippet()); return v; } @Override public View getInfoContents(Marker arg0) { // TODO Auto-generated method stub return null; } 

    prueba esto..

    Custom_infowindow.xml

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#80000000" android:orientation="vertical"> <ImageView android:src="@drawable/ic_launcher" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10dp"/> </LinearLayout> </LinearLayout> googleMap.setInfoWindowAdapter(new InfoWindowAdapter() { public View getInfoWindow(Marker arg0) { View v = getLayoutInflater().inflate(R.layout.custom_infowindow, null); return v; } public View getInfoContents(Marker arg0) { return null; } }); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.