J'ai fait un simple AlertDialog
dans mon activité :
View view = layoutInflater.inflate(R.layout.my_dialog, null);
AlertDialog infoDialog = new AlertDialog.Builder(MyActivity.this)
.setView(view)
.create();
infoDialog.show();
Avec le code ci-dessus, la boîte de dialogue s'affiche au centre (environ) de l'écran.
Je me demande, comment puis-je personnaliser la position de la boîte de dialogue pour qu'elle s'affiche juste sous la barre d'action supérieure? (Est-il possible de changer la gravité ou quelque chose du dialogue?) Et comment le faire en fonction de mon code ??
Réponses:
J'ai utilisé ce code pour afficher la boîte de dialogue en bas de l'écran:
Ce code empêche également Android d'atténuer l'arrière-plan de la boîte de dialogue, si vous en avez besoin. Vous devriez pouvoir modifier le paramètre de gravité pour déplacer la boîte de dialogue
la source
wlp.x
etwlp.y
pour définir explicitement l'emplacement de la boîte de dialogue à l'écran. Je ne l'ai pas essayé moi-même, mais cela devrait probablement fonctionner.vous pouvez personnaliser votre boîte de dialogue en fonction de la gravité et des paramètres de disposition, changer la gravité et les paramètres de disposition en fonction de vos besoins
la source
'FILL_PARENT'
est obsolète. Je suis sur l'API 21. Comme par Developer ReferenceJ'ai trouvé cet extrait de code du code @gypsicoder ici
Ici, la valeur de la position x correspond aux pixels de gauche à droite. Pour la position y, la valeur est de bas en haut.
la source
Pour moi, cela a plutôt bien fonctionné là où j'essayais de positionner ma boîte de dialogue quelque part exactement au bas de la vue de texte où elle est sélectionnée.
la source
Nouveau
BottomSheetDialog
:la source
ajoutez simplement ceci à votre code:
la source
la source
Pour mon activité Dialog, j'ai utilisé celui-ci:
la source
j'utilise cette méthode
la source
utiliser bottomSHeet:
la source
la source