2009-09-16 15 views

Odpowiedz

13

Spróbuj

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

gdzie kontekst jest Context instancji.

Domyślnie FrameLayout, w którym zachowany jest twój układ, wypełnia cały ekran w poziomie (w pionie możesz mieć pasek stanu). Możesz więc ustawić maksymalną możliwą szerokość, używając poprawnie android:layout_width="fill_parent".

2

Oto good answer:

mWinMgr.getDefaultDisplay().getWidth(); // getWidth() i getHeight() metody są przestarzałe teraz

można uzyskać szerokość i wysokość, co następuje: 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);

Powiązane problemy