Je voudrais obtenir la taille de l'écran des téléphones, mais il continue à me donner des valeurs erronées, je l'ai déjà utiliséObtenir la taille de l'écran ne pas utiliser getMetrics
WindowManager windowmanager = (WindowManager)
getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
Display display = windowmanager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
float deviceWidth = displayMetrics.widthPixels;
float deviceHeight = displayMetrics.ydpi;
J'ai essayé ce code aussi:
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
// Note, screenHeightDp isn't reliable
// (it seems to be too small by the height of the status bar),
// but we assume screenWidthDp is reliable.
// Note also, dm.widthPixels,dm.heightPixels aren't reliably pixels
// (they get confused when in screen compatibility mode, it seems),
// but we assume their ratio is correct.
double screenWidthInPixels = (double)config.screenWidthDp *dm.density;
double screenHeightInPixels = screenWidthInPixels * dm.heightPixels /dm.widthPixels;
deviceWidth = (int)(screenWidthInPixels + .5);
deviceHeight = (int)(screenHeightInPixels + .5);
Et aussi que:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Point realSize = new Point();
display.getRealSize(realSize);
deviceWidth= realSize.x;
deviceHeight = realSize.y;
}
Mais sur mon Samsung S7 sur sdk 7.0 je suis arrivé 1920x1080 ce qui est faux, car sur un S7 sur SDK 6.0.1 j'ai 2560x1440 qui est la vraie valeur. J'ai essayé beaucoup de solution mais je n'ai rien trouvé de bon.
Merci
Merci, n'a pas vu cela, j'ai changé les paramètres et eu le bon résultat, mais j'ai toujours un problème sur un émulé Nexus 5 mis à jour à 7.1.1, je reçois 1794x1080 au lieu de 1920x1080, avez-vous une idée pourquoi ? –
Trouvé ma réponse, le problème était que la barre de boutons n'est pas considérée comme une partie de l'écran.Donc, si vous créez un périphérique virtuel avec des boutons physiques, vous n'aurez plus cette erreur. Idem pour les vrais appareils qui utilisent la barre de boutons, comme le Huawei P9. –