Android: Obtenir la résolution de l'écran / pixels sous forme de valeurs entières
c'est vraiment une question simple à laquelle je n'ai pas trouvé de réponse :/
Comment puis-je accéder rapidement à la résolution de l'écran (largeur, hauteur) que des valeurs entières?
J'ai essayé celui-ci, mais il affiche toujours zéro sur mon émulateur:
DisplayMetrics dm = new DisplayMetrics();
int width = dm.widthPixels / 2;
Dans mon cas, je veux créer dynamiquement un tableau avec tableRows, contenant chacune deux cols. Cette cols, tous doivent remplir la moitié de l'écran en largeur.
Quelqu'un peut me donner un indice?
juste une supposition - les valeurs extraites de DisplayMetrics peut ne pas être valide jusqu'au premier tirage. êtes-vous de vérifier cela sur onCreate ou onDraw ou quand?
La vraie raison pour laquelle le résultat était nul est parce que le zéro est la valeur par défaut en java pour un int.
La vraie raison pour laquelle le résultat était nul est parce que le zéro est la valeur par défaut en java pour un int.
dm.widthPixels
n'a pas été initialisé, donc sa valeur est égale à zéro et zéro divisé par deux est aussi égal à zéro... vous devriez avoir essayé quelque chose comme mView.getContext().getResources().getDisplayMetrics()
OriginalL'auteur poeschlorn | 2010-05-25
Vous devez vous connecter pour publier un commentaire.
La façon la plus simple sera de mettre en œuvre onSizeChanged. Vous êtes probablement obtenir une valeur de 0, car la vue n'est pas encore initialisé. Vous ne pouvez pas appeler le code ci-dessus dans le constructeur de la Vue par exemple.
onSizeChanged sera appelée la première fois de votre point de Vue est établi et chaque fois que les changements d'orientation. Lorsqu'il est appelé, de stocker les dimensions de l'écran dans les membres de vos classes. Utiliser ces valeurs lorsque vous êtes dessin (dans la méthode OnDraw).
merci, je vais essayer ça 🙂
OriginalL'auteur kgiannakakis
La trashkalmar réponse est correcte.
Cependant, les résultats ne peuvent être spécifiques au contexte d'activité. Si vous voulez l'ensemble du dispositif de la résolution de l'écran:
Noter que les résultats dépendent aussi de l'actuel dispositif d'orientation.
OriginalL'auteur Guillaume Perrot
Vous pouvez obtenir des métriques d'écran de cette façon:
Je reçois @deprecated avertissement, sans autre explication. utilisé Guillaume Perrot, en réponse à la place
il a été rendu obsolète depuis l'API Android 13. Voir le docs.
OriginalL'auteur trashkalmar
1.Utilisez simplement Ce à l'intérieur de l'activité pour obtenir la largeur de l'écran et la hauteur en pixels.
2.Cela peut également être utilisé, Mais exige de l'Api de niveau inline vérifier
3.Utilisez Cette fonction lorsque vous n'êtes pas en activité, mais ayant contexte
OriginalL'auteur DeepakPanwar
J'utilise la suite:
Pas muss, pas de chichi, juste 2 variables de classe
OriginalL'auteur Rich