Dans notre application, nous devons déterminer la largeur de l'écran au démarrage. Nous avons essayé d'obtenir cette largeur en utilisant quelques méthodes différentes (voir la liste ci-dessous), mais les appareils Samsung, en particulier leurs appareils Galaxy, nous donnent parfois des valeurs incorrectes.Périphériques Samsung signalant par intermittence une largeur d'écran incorrecte
Nous avons un Galaxy s6 avec une résolution de 1440 x 2560 pixels. La plupart du temps, le dispositif signale une largeur de 1440, mais parfois il nous donnera une largeur de 1080.
Nous avons essayé d'obtenir la largeur de la façon suivante:
1)
getResources().getDisplayMetrics().widthPixels;
2)
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
3)
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getRealSize(size);
Mais dans tous les cas, nous voyons une largeur incorrecte renvoyée. Nous voyons des valeurs incorrectes de manière fiable lorsque notre application est lancée pour la toute première fois. Toute aide serait grandement appréciée.
Bien, si vous connaissez la taille à l'avance pour certains modèles, pourquoi avez-vous besoin de l'interroger et ne pas avoir une sorte de table de recherche ou quelque chose? – PmanAce
Oui, nous pourrions le faire mais maintenir cette liste massive n'est pas idéal. –
Oui, je sais, je parlais juste des quelques cas problématiques comme celui-ci. Mais si quelqu'un trouve une solution, utilisez-la.:) – PmanAce