Comment mettre de la boîte de dialogue position?
J'ai fait une boîte de dialogue personnaliser.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="myBackgroundStyle"
parent="@android:style/Theme.Translucent.NoTitleBar" />
</resources>
Dialog dialog = new Dialog(this, R.style.myBackgroundStyle);
dialog.setContentView(R.layout.dialog);
dialog.show();
WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
params.y = 225; params.x = 225;
params.gravity = Gravity.TOP | Gravity.LEFT;
dialog.getWindow().setAttributes(params);
Mais le problème est qu'il apparaît dans le coin en haut à gauche et je ne peux pas trouver un moyen de le placer où j'en ai besoin. params.y=225; params.x=225;
en quelque sorte de ne pas l'affecter.
Des idées?
edit:
Si j'ai le xml comme ça ( style/Thème.Boîte de dialogue ), puis les paramètres et l'emplacement, beau travail, mais un modal ombre apparaît. Est-il un moyen de l'enlever?
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="myBackgroundStyle" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">false</item>
</style>
</resources>
OriginalL'auteur Roger | 2011-08-08
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
Thème.Panneau
que le style deparent
à la place.OriginalL'auteur Felix
Essayez de créer un nouvel ensemble de paramètres:
Edit: si vous souhaitez conserver la fenêtre attributs, vous pourriez essayer d'ajouter que c'est le deuxième ligne:
Cependant, notez que la
copyFrom
méthode est totalement sans-papiers, donc je n'ai aucune idée si c'est ce qu'il sonne comme il n'.OriginalL'auteur Felix
pas sûr à 100%, mais est-il quelque chose à faire avec
params.gravity=Gravity.TOP | Gravity.LEFT;
?un autre modifier
ok, alors celui-ci devrait être de plus en plus d'utiliser: Appel android dialogue sans décoloration, à l'arrière-plan
voir les modifications ci-dessus.
pas vraiment. Le lien est sur la suppression de cette petite ombre à partir de la barre de titre, alors que j'ai besoin de supprimer le modèle d'ombrage ( c'est à dire l'obscurcissement de l'ensemble de l'écran, derrière la boîte de dialogue ).
OriginalL'auteur Michael
Dans le code ci-dessus de la ligne...
Devrait apparaître après
Par les regards des choses que vous affichez la boîte de dialogue d'abord, puis le réglage de coordonnées x,y, après la boîte de dialogue a déjà été dessiné à l'écran.
OriginalL'auteur
Seulement supprimer les params.gravité = Gravité.HAUT de page | de la Gravité.GAUCHE; et ça fonctionne. Je l'ai essayé.
OriginalL'auteur herbertD