Ich würde gern die Bildschirmdiagonale des Geräts errechnen, aber irgendwo hängt das. Mein Testgerät hat eine Diagonale von 6,1 Zoll. Die Berechnung liefert einen Wert von 1044 Zoll. Hat jemand eine Idee wo mein Fehler ist?
private static bool GetIsLargeSizeScreen()
{
var displayInfo = DeviceDisplay.MainDisplayInfo;
var widthInInches = displayInfo.Width / displayInfo.Density;
var heightInInches = displayInfo.Height / displayInfo.Density;
var screenDiagonalInInches = Math.Sqrt(Math.Pow(widthInInches, 2) + Math.Pow(heightInInches, 2));
return screenDiagonalInInches > 8;
}
Moin,
wie kommst Du darauf dass Deine Berechnung Dir Zoll zurückliefert?
Du hast Width und Density. In diesem Fall gibt die Breite die Anzahl der Pixel an. Da die Screens heutzutage alle extrem hochauflösend sind, hättest Du nun bei allen Apps winzige Symbole und Schriften.
Um das zu kompensieren, gibt es die "Density". Also wie viele echte Pixel einem dargestellten Pixel entsprechen.
Das Ergebnis hat also nichts mit Inches zu tun.
Danke für diene Antwort! Ich hatte einen Denkfehler. Habe das Problem gelöst, trotzdem Danke!