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?

War es hilfreich?

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);

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top