Transparent AlertDialog tiene fondo negro

Tengo un estilo AlertDialog personalizado que hace que el cuadro AlertDialog transparente. Funciona bien, excepto que cuando inflando mi diseño transparente deseado en la ventana de diálogo de alerta, aparece con un fondo negro. Mi objective es tener un AlertDialog completamente transparente en donde parezca que solo hay 4 botones flotando en lugar de un marco. La imagen uno es lo que el diálogo personalizado me está dando, la imagen dos es la deseada o lo que pretendo.

Aquí está el código para el Dialog personalizado

  @null @android:color/transparent true @null @null @android:style/Animation.Dialog stateUnspecified|adjustPan false @android:color/transparent  

Esto es lo que estoy llamando en mi onCreate()

 AlertDialog.Builder imageDialog = new AlertDialog.Builder(TimeLine.this, R.style.CustomDialog); inflater = getLayoutInflater(); View view=inflater.inflate(R.layout.tabs, null);![enter image description here][1] AlertDialog a = imageDialog.create(); a.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); a.setView(view, 0, 0, 0, 0); a.show(); 

diálogo de alerta actual

Alerta deseadaDialog

* Editar **** ** El código para el diseño de tabs xml está aquí `

  

`

De las pruebas para ver cuál es el origen del problema, descubrí que es cierto que el diseño es transparente porque cuando cambio el color de fondo del diseño, también cambia el cuadro de diálogo de alerta. Sin embargo, cuando el diseño se establece en transparente, parece que lo que está detrás del diseño inflado es negro. Y debido a eso no estoy seguro de qué hacer o si es la configuración de AlertDialog o mi código de diseño.

El problema es que el AlertDialog builder no es realmente bueno para diseñar diálogos transparentes y siempre tendrá este fondo negro que en realidad es un Tema para él, en su lugar usa el Dialog para crear un tema transparente.

muestra:

 Dialog alertDialog = new Dialog(this); alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); alertDialog.setContentView(R.layout.tabs); alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); alertDialog.show(); 

Usar Dialog no requiere ninguna manipulación del tema para un fondo transparente, por lo que es básicamente fácil.

¿Has intentado usar algo como esto?

  

EDITAR

Prueba esto en código java

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

En sus R.layout.tabs ,

Reemplazar

  

con