¿Por qué el fondo de ProgressDialog no se establece en el transparente?
Quiero fijar la tierra trasera a la transparente, así que he fijado el código siguiente adentro
styles.xml <style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowNoTitle">true</item> </style>
Y he utilizado el Progressdialog
como el siguiente código en el JAVA file
y en el fragment
.
- Uso del diálogo de progreso con el hilo
- El detector de progreso de subida no se disparó (API de unidad de Google)
- Android cambia ProgressDialog dibujable mientras el diálogo funciona
- Actividad ha filtrado ventana com.android.internal.policy.impl.PhoneWindow$DecorView@46029dd0 que fue agregado originalmente aquí
- Mostrar el diálogo de progreso sin texto Android
Activity activity = getActivity() ; mProgressDialog = new ProgressDialog(activity,R.style.dialog) ; mProgressDialog.setCancelable(false) ; mProgressDialog.show() ;
Pero consigo el progreso como la siguiente imagen, y no tiene un fondo transparente.
¿Por qué el fondo no cambia a la transparencia?
- Android ProgressDialog fontSize cambiar
- Android: ProgressDialog no se muestra
- Android: ¿Cómo cambiar el color de texto de ProgressDialog?
- Cómo centrar el indicador de progreso en ProgressDialog fácilmente (cuando no se pasa ningún título / texto)
- ¿Cómo mostrar un ProgressDialog mientras cambia de una actividad a otra?
- Progress Dialog aparece extrañamente en dispositivos Pre-lollipop
- Fragmento de carga de hiladora / diálogo en Honeycomb
- Diálogo singleton de android
Crear MyTheme
personalizado en values\styles.xml
<style name="MyTheme" parent="android:Theme.Holo.Dialog"> <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:textColorPrimary">#FFFFFF</item> <item name="android:backgroundDimEnabled">false</item> <item name="android:textColor">#FFFFFF</item> <item name="android:textStyle">normal</item> <item name="android:textSize">12sp</item> </style>
Y también añadir este CustomAlertDialogStyle
en values\styles.xml
<style name="CustomAlertDialogStyle"> <item name="android:bottomBright">@android:color/transparent</item> <item name="android:bottomDark">@android:color/transparent</item> <item name="android:bottomMedium">@android:color/transparent</item> <item name="android:centerBright">@android:color/transparent</item> <item name="android:centerDark">@android:color/transparent</item> <item name="android:centerMedium">@android:color/transparent</item> <item name="android:fullBright">@android:color/transparent</item> <item name="android:fullDark">@android:color/transparent</item> <item name="android:topBright">@android:color/transparent</item> <item name="android:topDark">@android:color/transparent</item> </style>
Y establecer ProgressDialog
como:
pd = new ProgressDialog(getActivity(),R.style.MyTheme); pd.setCancelable(false); pd.setProgressStyle(android.R.style.Widget_ProgressBar_Small); pd.show();
Puede utilizar este código, funciona bien en dispositivos> = 19 (Kitkat)
progress = ProgressDialog.show(Splash.this, null, null, true); progress.setContentView(R.layout.elemento_progress_splash); progress.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); //progress.show();
Prueba esto
mProgressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
EDITAR:
Intenta agregar esto al diseño xml
<item name="android:backgroundDimEnabled">true</item> <item name="android:background">@android:color/transparent</item>
En mi caso, acabo de definir en color.xml las variables
Para el estilo ligero: <color name="accent_material_light">#000000</color>
Para el estilo oscuro: <color name="accent_material_dark">#000000</color>
Estos cambios afectan a todo el sistema
- Android Proguard no elimina todos los mensajes de registro
- Problema de codificación con LoadData de WebView