Android: affichage de la mauvaise résolution de l'écran
J'ai essayé d'obtenir la résolution d'écran de téléphones android,en utilisant ce code
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
str_ScreenSize = dm.widthPixels + " x " + dm.heightPixels;
str_ScreenSize = "dd" + " x " + dm.heightPixels;
Quand j'ai essayé ce code dans mon Galaxy S, j'ai obtenu la résolution de l'écran que 320x533 px, mais en réalité, le Galaxy S a obtenu un écran d'une résolution de 480x800 px. Quel est donc le problème avec le code??
Comment puis-je obtenir la résolution de l'écran d'un périphérique particulier??
Conclusion sur la façon d'obtenir une vraie résolution: stackoverflow.com/questions/11824193/...
taille de l'écran de 600(largeur) x 1024(hauteur).je récupère la largeur de 600 mais mal obtenir la hauteur 976 (sans rotation de l'écran).je reçois hauteur actuelle 1024 mais mal obtenir la largeur 552 (avec rotation de l'écran). s'il vous plaît aider moi.
taille de l'écran de 600(largeur) x 1024(hauteur).je récupère la largeur de 600 mais mal obtenir la hauteur 976 (sans rotation de l'écran).je reçois hauteur actuelle 1024 mais mal obtenir la largeur 552 (avec rotation de l'écran). s'il vous plaît aider moi.
OriginalL'auteur Shijilal | 2011-02-22
Vous devez vous connecter pour publier un commentaire.
Enfin, après 2 jours de recherche et d'essais, j'ai enfin réussi à trouver ce qui est le vrai problème ici..
Tous ceux de codage ci-dessus donnera la bonne résolution. Mais le plus important c'est que nous avons besoin de parler de la cible SDK dans le fichier manifeste.. Sinon il va donner le mauvais résultat si la densité est supérieure à 1.
besoin de définir la targetSDK version du n'importe quoi entre 4-9..
Espérons que cela va aider quelqu'un dans le futur face à la même question.
Merci beaucoup yaar.
J'ai trouvé que vous-même devez définir ce paramètre de commande pour la taille de la vue pour être configuré correctement. Merci!
Vraiment bizarre, j'ai eu ce problème aussi, mais j'ai eu targetSdkVersion dans le manifeste. Réalisé avant le <application> bloc et bien sûr, cela fonctionne maintenant. Merci
OriginalL'auteur Shijilal
Essayez d'utiliser ceci:
Semble que vous obtenez le pixel après la division de la densité ( 1.5 ) de la Galaxy S.
Edit:
Réponse de mise à jour.
j'obtiens la valeur de densité pour Galaxy S 1,0
Cela semble être au travail..mais je ne sais pas si ses une bonne méthode.. DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); densité=dm.densityDpi; largeur=(densité/160)*dm.widthPixels; hauteur=(densité/160)*dm.heightPixels;
OriginalL'auteur SteD
Désactiver la pré-mise à l'échelle en ajoutant cette ligne à votre fichier manifeste:
Position:
Après que votre écran ne sera pas mis à l'échelle, et de plus, vous bénéficiez également de la bonne résolution de l'affichage.
OriginalL'auteur Codev
essayer..
OriginalL'auteur Tushar Vengurlekar
Cela semble être au travail..mais je ne sais pas si ses une bonne méthode..
OriginalL'auteur Shijilal
Voici comment j'ai fait:
Lorsqu'il n'est pas une Activité:
Avant getSize a été mis en place (en API de niveau 13), vous pouvez utiliser le getWidth et getHeight méthodes qui sont maintenant obsolètes:
OriginalL'auteur Remi