Eliminar fondo negro en el diálogo personalizado

Quiero quitar el fondo negro en el diálogo personalizado como se muestra en la imagen. Estoy seguro que el fondo negro era del diálogo, no del fondo de la aplicación.

Diálogo personalizado con fondo negro alrededor de él ;

Código de AlertDialog

public class MyAlertDialog extends AlertDialog { public MyAlertDialog(Context context) { super(context); } public MyAlertDialog(Context context, int theme) { super(context, theme); } } 

Código de actividad

 public void showMyDialogOK(Context context, String s, DialogInterface.OnClickListener OkListener) { MyAlertDialog myDialog = new MyAlertDialog(context, R.style.MyDialog2); myDialog.setTitle(null); myDialog.setMessage(s); myDialog.setButton(DialogInterface.BUTTON_POSITIVE ,"Ok", OkListener); myDialog.show(); } 

Estilos

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen"> <item name="android:alertDialogStyle">@style/AlertDialog</item> </style> <style name="MyTheme2" parent="@android:style/Theme.Black"> <item name="android:alertDialogStyle">@style/AlertDialog</item> </style> <style name="AlertDialog"> <item name="android:fullDark">@null</item> <item name="android:fullBright">@null</item> <item name="android:topDark">@drawable/popup_top_dark</item> <item name="android:topBright">@null</item> <item name="android:centerBright">@null</item> <item name="android:centerDark">@drawable/popup_center_dark</item> <item name="android:centerMedium">@null</item> <item name="android:bottomDark">@null</item> <item name="android:bottomBright">@null</item> <item name="android:bottomMedium">@drawable/popup_bottom_medium</item> </style> <style name="MyDialog2" parent="@android:Theme.Dialog"> <item name="android:windowBackground">@null</item> <item name="android:buttonStyle">@style/CustomButton</item> </style> <style name="CustomButton" parent="@android:style/Widget.Button"> <item name="android:background">@drawable/button_stateful</item> </style> </resources> 

Recursos de imágenes

Popup_center_dark.9.png

Popup_center_dark.9.png

Popup_bottom_medium.9.png

Popup_bottom_medium.9.png

Popup_top_dark.9.png

Popup_top_dark.9.png

 public MyAlertDialog(Context context, int theme) extends AlertDialog { super(context, theme); getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); } 

Sonehow getWindow().setBackgroundDrawable() no funcionó para mí con AlertDialog . Encontré una solución más fácil con Dialog . Aquí está mi código –

  final Dialog dialog = new Dialog(this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); dialog.setContentView(R.layout.popup_window); dialog.show(); 

Después de probar decenas de otras soluciones para este problema, lo que terminó trabajando para mí es:

 <style name="translucentDialog" parent="android:Theme.Holo.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> </style> 

Y luego establecer mi diálogo para utilizar este tema.

Prueba esto:

 myDialog.getWindow().clearFlags(LayoutParams.FLAG_DIM_BEHIND); 

Puede crear un diseño xml como el siguiente y establecer ese diseño en el diálogo (dialog.xml) :

 <?xml version="1.0" encoding="utf-8"?> <ScrollView android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" style="@style/white_background_bl_aatharv"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical" android:scrollbarAlwaysDrawVerticalTrack="true" android:id="@+id/instructions_view"> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:text="text here " /> </LinearLayout> </ScrollView> 

Aquí está el código para establecer el diseño en el cuadro de diálogo de alerta:

 AlertDialog alert = cndtnsbuilder.create(); alert.setView(LayoutInflater.from( currentactivity.this).inflate( R.layout.dialog, null)); alert.show(); 

El método siguiente funcionó para mí:

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

// estilo de código en style.xml:

 <style name="translucentDialog" parent="android:Theme.Holo.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> </style> 

// en la actividad: establece el estilo al diálogo:

  Dialog dialogconf = new Dialog(TreeAct.this, R.style.translucentDialog); dialogconf.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialogconf.setContentView(R.layout.dialog_layout); 

Simplemente cambie el diálogo padre.

Con el backround negro

 <style name="MyDialog2" parent="@android:Theme.Dialog"> 

Sin fondo negro

 <style name="MyDialog2" parent="@android:style/Theme.DeviceDefault.Light.Dialog"> 

Quité el fondo negro de mi diálogo de encargo por el código después de alertDialog.show ():

 try { ViewGroup viewGroup1 = (ViewGroup) dialogView.getParent(); if (viewGroup1 != null) { viewGroup1.setBackgroundResource(android.R.color.transparent); ViewGroup viewGroup2 = (ViewGroup) viewGroup1.getParent(); if (viewGroup2 != null) { viewGroup2.setBackgroundResource(android.R.color.transparent); } } } catch (Exception e) { } 

Para quitar el color de fondo, en la disposición, usted apenas necesita fijar el fondo a @null

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@null"> 
  dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 
  • Estilo de AlertDialog - cómo cambiar el estilo (color) del título, del mensaje, del etc.
  • ¿Cómo personalizar el botón?
  • Cambiar el estilo de CalendarView
  • Evitar que la actividad "Diálogo" interactúe con la actividad de fondo al hacer clic fuera de los límites
  • Spinner causa error al usar estilo personalizado
  • Uso de estilos privados (No se encontró ningún recurso que coincida con el nombre dado)
  • ¿Cómo diseñar el Overflow de Barras de Acción en dispositivos con un botón de menú de hardware?
  • Cómo cambiar el color de texto de popup autocompletar appcompat?
  • Estilizar vistas compuestas
  • Eliminar la sombra de android.widget.Toolbar
  • Error al recuperar el padre del elemento: No se encontró ningún recurso que coincida con el nombre dado 'android: Theme.Material.Light'
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.