J'ai une activité qui a pour thème Thème.Transparent qui est:
<style name="Theme.Transparent" parent="Android:Theme.Dialog">
<item name="Android:windowIsTranslucent">true</item>
<item name="Android:windowNoTitle">false</item>
<item name="Android:windowIsFloating">true</item>
<item name="Android:backgroundDimEnabled">false</item>
<item name="Android:gravity">top</item>
</style>
j'essaie de supprimer la bordure et le rembourrage qui la entoure .. Je veux faire remplir l'horizontale de l'écran. et pas de bordure grise. aidez s'il vous plaît:)
Assurez-vous de créer votre boîte de dialogue référençant votre thème personnalisé:
Dialog dialog = new Dialog(this, R.style.MyDialogTheme);
Votre thème personnalisé doit remplir l'écran et désactiver deux paramètres par défaut du cadre Android :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyDialogTheme" parent="Android:Theme.Dialog">
<!-- Fill the screen -->
<item name="Android:layout_width">fill_parent</item>
<item name="Android:layout_height">fill_parent</item>
<!-- No backgrounds, titles or window float -->
<item name="Android:windowBackground">@null</item>
<item name="Android:windowNoTitle">true</item>
<item name="Android:windowIsFloating">false</item>
<!-- Just to prove it's working -->
<item name="Android:background">#ff0000</item>
</style>
</resources>
Comme ci-dessus, mais le faire en code plutôt qu'en xml a fonctionné pour moi.
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
Définissez la largeur et la hauteur en fonction du conteneur parent.
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams wmlp = dialog.getWindow()
.getAttributes();
wmlp.width = Android.view.WindowManager.LayoutParams.MATCH_PARENT;
wmlp.height = Android.view.WindowManager.LayoutParams.WRAP_CONTENT;
Ce qui suit fonctionne parfaitement pour moi. Cela me permet d'avoir un dialogue pleine largeur (remplit la largeur de l'écran sans remplissage) mais avec wrap_content pour height et conserve tous mes autres styles que je fais dans mon constructeur:
<item name="windowMinWidthMajor">100%</item>
<item name="windowMinWidthMinor">100%</item>
<item name="Android:windowBackground">@null</item>
<item name="Android:windowIsFloating">true</item>
<item name="Android:background">#ffffff</item>
L’arrière-plan est requis ou bien il répète bizarrement, mais définissez-le simplement sur la couleur souhaitée pour l’arrière-plan de votre boîte de dialogue. WindowBackground et WindowIsFloating sont nécessaires pour que la taille soit correctement renvoyée à la ligne.
Ajoutez votre thème à votre constructeur comme suit:
constructeur = new AlertDialog.Builder (_context, R.style.DialogTheme); et vous voilà prêt à partir!