Wie erhalte ich eine maximale Breite und Höhe des Geräts in Android
Frage
Hallo, ich habe ein Problem, eine benutzerdefinierte Ansicht für eine Android-Anwendung. Meine benutzerdefinierte Ansicht will zulässig verwenden, wenn die maximale Bildschirmbreite. Ich konnte keinen Weg finden, diesen Wert zu erhalten.
Kann mir jemand auf die richtige Methode zeigen?
Lösung
Versuchen
mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
int displayWidth = mWinMgr.getDefaultDisplay().getWidth();
wo Kontext ist Context
Instanz.
Standardmäßig ist die FrameLayout
, in dem Ihr Layout gehalten wird, füllt das gesamte Display horizontal (vertikal können Sie Statusleiste haben). So können Sie die maximal mögliche Breite eingestellt von android:layout_width="fill_parent"
korrekt verwendet wird.
Andere Tipps
Hier ist ein gute Antwort :
mWinMgr.getDefaultDisplay().getWidth();
// getWidth () und getHeight () Methoden sind jetzt veraltet
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;
DisplayMetrics size = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(size );
int w = size .widthPixels;
int h = size .heightPixels;
WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
window.getDefaultDisplay().getMetrics(dm);
devicewidth = (dm.widthPixels);