Je veux mettre le fond à la transparence, alors j'ai mis le code suivant dans
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>
Et j’ai utilisé la Progressdialog
comme le code suivant dans Java file
et dans fragment
.
Activity activity = getActivity() ;
mProgressDialog = new ProgressDialog(activity,R.style.dialog) ;
mProgressDialog.setCancelable(false) ;
mProgressDialog.show() ;
Mais les progrès sont identiques à ceux de la photo suivante, mais l’arrière-plan n’est pas transparent.
Pourquoi l'arrière-plan ne change pas en transparent?
créer une MyTheme
personnalisée dans 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>
Et ajoutez également cette CustomAlertDialogStyle
dans 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>
Et définissez ProgressDialog
comme:
pd = new ProgressDialog(getActivity(),R.style.MyTheme);
pd.setCancelable(false);
pd.setProgressStyle(Android.R.style.Widget_ProgressBar_Small);
pd.show();
Vous pouvez utiliser ce code, travailler correctement dans les périphériques> = 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();
Essaye ça
mProgressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Android.graphics.Color.TRANSPARENT));
MODIFIER:
Essayez d'ajouter ceci à la mise en page XML.
<item name="Android:backgroundDimEnabled">true</item>
<item name="Android:background">@Android:color/transparent</item>
Dans mon cas, je viens de définir à color.xml les variables
Pour le style léger: <color name="accent_material_light">#000000</color>
Pour le style sombre: <color name="accent_material_dark">#000000</color>
Ces changements affectent l'ensemble du système