2009-09-16 8 views

Répondre

13

Essayez

mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); 
int displayWidth = mWinMgr.getDefaultDisplay().getWidth(); 

où le contexte est Context exemple.

Par défaut, le FrameLayout dans lequel votre mise en page est conservée, remplit l'ensemble de l'affichage horizontalement (verticalement, vous pouvez avoir une barre d'état). Vous pouvez donc définir la largeur maximale possible en utilisant android:layout_width="fill_parent" correctement.

2

Voici un good answer:

mWinMgr.getDefaultDisplay().getWidth(); // méthodes getWidth() et getHeight() sont déconseillés maintenant

Vous pouvez obtenir la largeur et la hauteur comme suit: original

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 
1
DisplayMetrics size = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(size); 
     int w = size .widthPixels; 
     int h = size .heightPixels; 
1
WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE); 
DisplayMetrics dm = new DisplayMetrics(); 
window.getDefaultDisplay().getMetrics(dm);   

devicewidth = (dm.widthPixels);

Questions connexes