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


El diálogo del progreso tiene el fondo blanco en dispositivos del Lollipop,

Estoy migrando mi aplicación en Android 5.0, es decir, dispositivos Lollipop, Tengo problema con el diálogo de progreso, Funciona perfectamente en dispositivos pre lollipop, pero en lollipop tiene fondo blanco, como se muestra en la imagen Introduzca aquí la descripción de la imagen

Pero en dispositivos pre lollipop es de fondo transparente Introduzca aquí la descripción de la imagen

A continuación se muestra mi código:

Progress.xml en el diseño

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@android:color/transparent" > <ProgressBar android:id="@+id/progressBar3" style="?android:attr/progressBarStyleHorizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:layout_centerHorizontal="true" android:indeterminate="true" android:indeterminateDrawable="@drawable/myprogress" android:minHeight="48dp" /> </RelativeLayout> 

Myprogress.xml en dibujable

 <shape android:shape="oval" android:useLevel="false" > <size android:height="48dip" android:width="48dip" /> <gradient android:centerColor="#ff001100" android:centerY="0.50" android:endColor="#ffffffff" android:startColor="#ff000000" android:type="sweep" android:useLevel="false" /> </shape> 

Y en Java estoy usando así

 public ProgressDialog mProgressDialog; if (mProgressDialog != null && mProgressDialog.isShowing()) { mProgressDialog.cancel(); } mProgressDialog = new ProgressDialog(context); mProgressDialog.setCancelable(false); mProgressDialog.show(); mProgressDialog.setContentView(R.layout.progress); 

4 Solutions collect form web for “El diálogo del progreso tiene el fondo blanco en dispositivos del Lollipop,”

La edición era un fondo blanco en el lollipop.

Solución de cualquiera de los dos (ambos son iguales):

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

o

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

Parece que tienes una solución ahora, pero si alguien más está experimentando un problema similar; Encontré que sobrepasar el tema de ProgressDialog en el constructor trabajó para mí. Algo como:

 mProgressDialog = new ProgressDialog(context, ProgressDialog.THEME_HOLO_LIGHT); 

También puede crear un estilo y asignar el estilo al diálogo:

  ProgressDialog dialog = new ProgressDialog(context, R.style.ProgressDialogStyle); 

El estilo (en style.xml):

 <style name="ProgressDialogStyle" parent="android:Theme.Holo.Light.Dialog"> <item name="android:windowBackground">@color/color_transparent</item> </style> 

He resuelto este problema con la ayuda de este tutorial http://www.techrepublic.com/blog/software-engineer/create-a-transparent-progress-dialog-on-android/

Acabo de pasar mi dibujable en este código

 mProgressDialog = new TransparentProgressDialog(context, **R.drawable.progress**); mProgressDialog.setCancelable(false); 

Y el código de reposo es el mismo que en este ejemplo.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.