Le positionnement d'un dialogue sur l'écran
J'ai une activité avec MapView. J'ai superpositions sur cette carte et je voudrais la position d'un vol stationnaire dialogue sur un élément s'il est exploité.
J'ai déjà ma propre boîte de dialogue que j'ai fait avec ma propre mise en page et d'arrière-plan personnalisée. Mon seul problème est de savoir comment dire à Android où (x, y) de la position de la boîte de dialogue.
C'est encore plus compliqué, car pour savoir ce qui est la boîte de dialogue x, y). J'ai d'abord besoin de connaître la boîte de dialogue de la largeur et de la hauteur après la mesure (car j'en ai besoin pour le calcul de la position par rapport à mon superposition).
Vous devez vous connecter pour publier un commentaire.
Une rapide recherche sur Google est venu avec la suite:
Vous pouvez appeler getWindow().getAttributes() pour récupérer le WindowManager.LayoutParams de la fenêtre. Ce a les champs suivants impliquant la fenêtre de placement:
http://code.google.com/android/reference/android/view/ViewGroup.LayoutParams.html#width http://code.google.com/android/reference/android/view/ViewGroup.LayoutParams.html#height http://code.google.com/android/reference/android/view/WindowManager.LayoutParams.html#gravity
http://code.google.com/android/reference/android/view/WindowManager.LayoutParams.html#x http://code.google.com/android/reference/android/view/WindowManager.LayoutParams.html#y
Après avoir fait vos modifications, utilisez getWindow().setAttributes() pour installer les nouvelles valeurs.
Noter que, bien que vous pouvez obliger une taille spécifique à travers les champs largeur et hauteur, en général, la bonne façon de le faire est de laisser la fenêtre ne normal de mise en page et de déterminer la taille de la fenêtre automatiquement de cette façon. Si vous avez une vue unique dans la boîte de dialogue qui veut une taille fixe comme 300x200, de mettre en œuvre la Vue.onMeasure() pour appeler setMeasuredDimension(300, 200). Puis, quand le point de vue de la hiérarchie mise en page qui se passe, la fenêtre de dialogue sera donné une taille qui assure votre point de vue est que la dimension (probablement l'fenêtre plus grande pour tenir compte de la boîte de dialogue image et de la décoration).
Espère que ça aide.