2010-09-03 3 views

Répondre

5
Display d=Display.getInstance(); 
int width = d.getDisplayWidth(); 
int height = d.getDisplayHeight(); 

Selon http://forums.java.net/jive/message.jspa?messageID=479230

ou peut-être

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
int width = display.getWidth(); 

http://www.coderanch.com/t/435390/Android/Mobile/screen-size-at-run-time

+0

Je reçois une erreur: La méthode getInstance() n'est pas définie pour le type Display. Pourriez-vous également montrer ce qu'il faut importer? – tylercomp

+1

fonctionne maintenant, avec ceci: Affichage d = ((WindowManager) getSystemService (Context.WINDOW_SERVICE)). GetDefaultDisplay(); width = d.getWidth(); height = d.getHeight(); Merci! – tylercomp

+0

Je voudrais ajouter qu'Eclipse n'a pas trouvé automatiquement WindowManager pour moi. Vous devez importer android.view.WindowManager et android.view.Display. Merci pour le conseil! –

4

S'IL VOUS PLAÎT demandez-vous pourquoi vous devez faire cela. Vous n'avez probablement pas. Si c'est à faire quelque chose basé sur la taille de l'écran (mise en page etc) cela vous renverra les mauvaises informations, car il vous parle de la résolution physique de l'écran, ne tenant pas compte de quelque chose comme la barre d'état, les décorations de fenêtre , etc. Même si vous exécutez votre application en mode plein écran, dans certains cas, certaines parties de l'écran peuvent être utilisées pour l'interface utilisateur du système dont vous ne pouvez pas vous débarrasser mais qui seront incluses dans les numéros renvoyés par Display.

La bonne chose à faire est de régler la taille de votre vue lors de la mise en page, par exemple lorsque votre onSizeChanged() est appelée.

Questions connexes