J'essaie d'obtenir la largeur en pixels/hauteur de l'appareil pour placer des éléments et des événements tactiles de cartographie sur l'écran, mais ne pas obtenir l'effet désiré au ras du bas à droite):Android getDisplayMetrics() ne renvoie pas la taille d'affichage exacte
// screen size
DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
float ScrDensity = metrics.density;
int metricHeight = metrics.heightPixels;//
int metricWidth = metrics.widthPixels;//
Log.i("AllMetrics", metrics.toString());
// temp
int rightButton_diameter = 100;
int rightButton_xpos = metricWidth - rightButton_diameter;
int rightButton_ypos = metricHeight - rightButton_diameter;
Où AllMetrics retourne:
DisplayMetrics{density=2.0, width=720, height=1184, scaledDensity=2.0, xdpi=320.0, ydpi=320.0}
Je remarque que le retou rned height est également différent du 720x1280 listé dans le Virtual Device Manager (API 19, Android 4.4) et les positions x/y des événements tactiles semblent précises pour les éléments dessinés (c'est-à-dire que la zone cliquable du bouton est la même que il est dessiné)
Est-ce une erreur de configuration ou suis-je en utilisant la méthode incorrecte de récupération de la position de l'écran?
hauteur = 1184 car il n'inclut pas la hauteur de la barre d'état qui est de 96, ces deux nombres ajoutés ensemble donnent 1280 qui est la hauteur de l'écran physique – pskink
BTW que voulez-vous exactement atteindre? – pskink
Juste placer les choses sur l'écran pour les débutants. Je remarque que si je dessine à partir de 0,0, il est aligné avec le coin supérieur gauche. La barre d'état ne devrait-elle pas compenser cela par 69? Sinon, il manque juste la hauteur du fond plutôt que le haut. – Gavin