No se puede establecer el fondo de PopupWindow a transparente

Tengo el siguiente código:

View child = getLayoutInflater().inflate(R.layout.contextual_menu_lp_activity, null) child.setBackgroundColor(getResources().getColor(R.color.transparent)); child.setBackgroundDrawable(new BitmapDrawable()); popup = new PopupWindow(MapViewActivity.this); popup.setContentView(child); popup.showAtLocation(MapViewActivity.mapView, Gravity.CENTER, 10,10); popup.setBackgroundDrawable(new BitmapDrawable()); child.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); popup.update(50, 50,child.getMeasuredWidth(), child.getMeasuredHeight()); 

Como usted puede ver, fijé la visión, y trato desesperadamente de hacer su fondo transparente.

En el diseño xml, todos los relativelayouts reciben un fondo de color transparente.

Aquí está el xml:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/transparent" > <RelativeLayout android:id="@+id/ivDialogPopup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:paddingBottom="40dp" android:background="@drawable/new_pop_up_bk" > <Button android:id="@+id/btLivePolice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@+id/btSaveParkingLocation" android:layout_marginRight="4dp" android:layout_marginTop="8dp" android:background="@drawable/live_police_button_popup" /> <Button android:id="@+id/btSaveParkingLocation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginTop="8dp" android:layout_centerHorizontal="true" android:background="@drawable/parking_location_button" /> <Button android:id="@+id/btGetDirections" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4dp" android:layout_marginTop="8dp" android:layout_toRightOf="@+id/btSaveParkingLocation" android:background="@drawable/directions_button" /> 

Aún así, el diseño principal de la vista (un diseño relativo) todavía tiene un fondo gris. (Anteriormente, estaba usando la clase de actividad normal y en el manifiesto tenía un tema transparente -la parte más importante de él era establecer este android: windowBackground a transparent- tengo que cambiarlo por un motivo diferente).

Cualquier ayuda es apreciada.

Lo que haces es crear un archivo png transparente (por ejemplo, clear.png) y colocarlo en tu carpeta drawables, luego llamar

 yourPopUp.setBackgroundDrawable(getResources().getDrawable(R.drawable.clear)); 

De esta manera el popup sigue siendo descartable, lo cual no es el caso si intenta usar null.

También puede configurar el fondo transparente como a continuación. Esto funcionó para mí.

 popup.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 

Intente usar el @android:style/Theme.Translucent para su RelativeLayout lugar de cambiar el color de background .

Aquí hay algunas otras sugerencias.

Usar android: background = "@ null"

  • Diseño de fondo de Android de color XML
  • La transición de elementos compartidos deja un extraño fondo blanco entre la primera actividad y la segunda actividad transparente
  • Creación de ImageButton de forma irregular con diferentes estados de clic
  • Círculo transparente con borde
  • Transparente LinearLayout en Android
  • ¿Cómo se crea una pantalla de demostración transparente para una aplicación de Android?
  • Asegúrese de que el área del mapa de bits sea transparente al tocar
  • Ocultar divisor sin ocultar childDivider en ExpandableListView
  • Android WebView transparente en la parte superior de VideoView
  • Android 4.4 - Estado translúcido / barras de navegación - fitsSystemWindows / clipToPadding no funcionan con transacciones de fragmentos
  • Android XML dibujable degradado transparente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.