2009-09-16 8 views
5

Hallo Ich habe ein Problem beim Erstellen einer benutzerdefinierten Ansicht für eine Android-Anwendung. Meine benutzerdefinierte Ansicht möchte verwenden, wenn die maximale Bildschirmbreite zulässig ist. Ich konnte keine Möglichkeit finden, diesen Wert abzurufen.Wie bekomme ich die maximale Breite und Höhe eines Geräts in Android

Kann mir jemand auf die richtige Methode hinweisen?

Antwort

13

Versuchen

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

wo Kontext Context Instanz ist.

Standardmäßig füllt die FrameLayout, in der Ihr Layout beibehalten wird, die gesamte Anzeige horizontal (vertikal können Sie Statusleiste haben). So können Sie die maximal mögliche Breite einstellen, indem Sie android:layout_width="fill_parent" korrekt verwenden. Hier

2

ist ein good answer:

mWinMgr.getDefaultDisplay().getWidth(); // getWidth() und getHeight() Methoden sind veraltet jetzt

Sie können Breite und Höhe erhalten wie folgt: 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);   

Gerätbreite = (dm.breitePixel);

Verwandte Themen