web-dev-qa-db-fra.com

Comment fonctionnent les coordonnées de l'écran Android?

Je travaille avec Android Animation et j’ai constaté que le système de coordonnées Android était assez déroutant. Je suis donc ici pour poser cette question sur le fonctionnement des coordonnées dans Android. Je suis cette image pour passer d’une vue à l’autre mais il semble que cela ne fonctionne pas:

image

148
Yasir Khan

enter image description here

Cette image présente les deux orientations (Paysage/Portrait)

Pour obtenir MaxX et MaxY, lisez la suite.

Pour les coordonnées de l'écran de l'appareil Android, le concept ci-dessous fonctionnera.

Display mdisp = getWindowManager().getDefaultDisplay();
Point mdispSize = new Point();
mdisp.getSize(mdispSize);
int maxX = mdispSize.x; 
int maxY = mdispSize.y;

EDIT: - ** ** pour les appareils prenant en charge Android niveau d'api supérieur à 13. Peut utiliser le code ci-dessous.

    Display mdisp = getWindowManager().getDefaultDisplay();
    int maxX= mdisp.getWidth();
    int maxY= mdisp.getHeight();

(x, y): -

1) (0,0) est le coin en haut à gauche.

2) (maxX, 0) est le coin en haut à droite

3) (0, maxY) est le coin inférieur gauche

4) (maxX, maxY) est le coin inférieur droit

ici maxX et maxY sont la hauteur et la largeur maximales de l’écran en pixels, que nous avons extraites dans le code ci-dessus.

273
AAnkit

Pour Android API de niveau 13 et vous devez utiliser ceci:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int maxX = size.x; 
int maxY = size.y;

Alors (0,0) est le coin en haut à gauche et (maxX, maxY) est le coin en bas à droite de l'écran.

La méthode 'getWidth ()' pour la taille d'écran est obsolète depuis l'API 13.

En outre, getwidth () et getHeight () sont des méthodes de Android.view.View classe dans Android.So, lorsque votre Java class étend View class il n'y a pas de surcharge de windowManager.

          int maxX=getwidht();
          int maxY=getHeight();

aussi simple que cela.

17
vids