mit würde Ich mag die Größe des Bildschirms der Handys bekommen, aber es hält mich falsche Werte geben, habe ich bereitsErmittelt die Größe des Bildschirms nicht getMetrics
WindowManager windowmanager = (WindowManager)
getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
Display display = windowmanager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
float deviceWidth = displayMetrics.widthPixels;
float deviceHeight = displayMetrics.ydpi;
ich diesen Code zu versucht:
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
// Note, screenHeightDp isn't reliable
// (it seems to be too small by the height of the status bar),
// but we assume screenWidthDp is reliable.
// Note also, dm.widthPixels,dm.heightPixels aren't reliably pixels
// (they get confused when in screen compatibility mode, it seems),
// but we assume their ratio is correct.
double screenWidthInPixels = (double)config.screenWidthDp *dm.density;
double screenHeightInPixels = screenWidthInPixels * dm.heightPixels /dm.widthPixels;
deviceWidth = (int)(screenWidthInPixels + .5);
deviceHeight = (int)(screenHeightInPixels + .5);
Und auch das:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Point realSize = new Point();
display.getRealSize(realSize);
deviceWidth= realSize.x;
deviceHeight = realSize.y;
}
Aber auf meinem Samsung S7 auf sdk 7.0 I 1920x1080 bekam, die da auf einer S7 ist falsch auf SDK 6.0.1 habe ich 2560x1440 das ist der wahre Wert. Ich habe eine Menge Lösung versucht, aber nichts gutes gefunden.
Dank
Danke, habe das nicht gesehen, ich habe die Einstellungen geändert und hatte das richtige Ergebnis, aber ich habe immer noch Probleme mit einem emulierten Nexus 5, aktualisiert auf 7.1.1, ich bekomme 1794x1080 statt 1920x1080, hast du eine Ahnung warum ? –
Fand meine Antwort, das Problem war, dass die Symbolleiste nicht als Teil des Bildschirms angesehen wird.Wenn Sie also ein virtuelles Gerät mit physikalischen Schaltflächen erstellen, wird dieser Fehler nicht mehr auftreten. Dasselbe gilt für echte Geräte, die eine Tastenleiste verwenden, wie das Huawei P9. –