Die Berechnung der android-Bildschirm Größe?
Ist es möglich zu berechnen, die android-screen Diagonale Abmessung in Zoll.
Ich habe versucht, unten zwei Ansätze, die beide nicht geeignet für meinen Fall.
Ansatz 1:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int absoluteHeightInPx = displayMetrics.heightPixels;
int absoluteWidthInPx = displayMetrics.widthPixels;
double diagonalPixels = Math.sqrt((absoluteHeightInPx * absoluteHeightInPx) + (absoluteWidthInPx * absoluteWidthInPx));
double diagonalInInches = diagonalPixels / displayMetrics.densityDpi;
Ansatz 2:
float actualHeight = absoluteHeightInPx * deviceDensity;
float actualWidth = absoluteWidthInPx * deviceDensity;
float deviceDensity = displayMetrics.density;
float physicalPixelPerInchX = displayMetrics.xdpi;
float physicalPixelPerInchY = displayMetrics.ydpi;
float heightInInches = actualHeight / physicalPixelPerInchY;
float widhtInInches = actualWidth / physicalPixelPerInchX;
double diagonalInInches = Math.sqrt((heightInInches * heightInInches) + (widhtInInches * widhtInInches));
Könnte man korrigieren, wenn ich falsch bin.
Dank,
Easwar
- stackoverflow.com/questions/2193457/...
- Ich habe bereits gesehen, den link. aber das ist nicht für mich arbeiten. Ich habe getestet, in einigen Geräten. Ich bin nicht immer perfekte Antworten. Bitte helfen Sie mir.
- Welches Gerät verwenden Sie?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich folgenden code verwenden, und es funktioniert auf meinem Moto Dey.
Die echte Diagonale Länge ist 3,7" und der code gibt 3.6979072, präzise genug. Nach den Beschreibungen in der SDK, ich glaube, meine Methode sollte funktionieren auf anderen Geräten.
Ich habe beide getestet mein Ansatz in 8 android-Geräte. Das zweite ist fast richtig.
Aber für wenige Geräte dies nicht die richtige Antwort. So Schloss ich nach dem zweiten Ansatz.