2011-09-21 3 views
2

Je suis en train d'obtenir la largeur et la hauteur de l'écran dans Android, j'ai:Android, obtenir la largeur de l'écran et la hauteur?

DisplayMetrics displaymetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
stageWidth = displaymetrics.widthPixels; 
stageHeight = displaymetrics.heightPixels; 

La largeur est de 1280, mais son entrée en arrière avec 752.

Toutes les idées?

Répondre

4

Essayez ceci:

Display display = getWindowManager().getDefaultDisplay(); 
stageWidth = display.getWidth(); 
stageHeight = display.getHeigth(); 

Est-ce la même largeur? Êtes-vous sûr que la largeur est 1280 et non 752? Sur quel appareil testez-vous et quelle hauteur obtenez-vous?

+2

ces méthodes sont obsolètes. Vous devriez utiliser: 'getSize (Point outSize)' – DanielS

+0

@DanielS Qu'entendez-vous par Point surdimensionné? A quoi ressemble ce paramètre lors du calcul de la hauteur de l'affichage? –

+0

L'objet outSize contiendra la taille de l'affichage (ajusté pour l'orientation). Le document est ici - http://developer.android.com/reference/android/view/Display.html#getSize(android.graphics.Point) – DanielS

0

Utilisez cette méthode sur l'objet d'affichage (à partir de la documentation):

void getSize(Point outSize) - Returns the raw size of the display, in pixels.

+0

Comment l'utiliser dans mon code? – beans

+1

C'est une méthode dans l'objet Display. Créez simplement un nouvel objet point et transmettez-le à la méthode. Une fois qu'il retourne, il devrait avoir l'information appropriée à l'intérieur. Postez vos résultats ici et laissez-nous savoir si cela a fonctionné. – DanielS

0

Faites pivoter votre écran et see.I pense que vous obtiendrez votre taille de l'écran correct.

Le code ci-dessus a fonctionné avec moi et devrait fonctionner avec vous.

Questions connexes