Sven R.
Ein dp ist auf jedem Gerät gleich groß. Also kann es auf einem größeren Gerät mehr dps geben als auf einem kleineren. Somit können auch mehr Informationen auf dem größeren Gerät dargestellt werden.
Hmm, ganz so einfach ist es leider nicht. Es ist immer nur eine Annäherung... So gesehen hast du schon recht, da in vielen Fällen diese Hochrechnung vollkommen ausreichend ist. Aber wenn es wirklich auf den Pixel genau sein muss, stößt man an physikalische /technische Grenzen.
Beiweis / Beispiel:
Bildschirm 1 hat 1000 x 1000 Pixel auf 10cm Höhe und 10cm Breite -> 1cm Länge werden durch 100 Pixel "repräsentiert" (geht wunderbar auf)
Bildschirm 2 hat 1000 x 1000 Pixel auf 13cm Höhe und 13cm Breite -> 76.923076923076923076923076923077 das geht leider nicht auf... Es gibt keine halben Pixel, deswegen wird man nie ein 100%tiges Ergebnis erhalten können.
Die verschiedenen Bildschirm-Seitenverhältnisse sind in diesem Beispiel jetzt außen vor gelassen - so gesehen kommt noch ein weiterer "Faktor" hinzu.
Ins Gewicht fällt kann dieses Phänomen dann, wenn man über die Berührung von Drawables Kollisionsabfragen durchführt oder einen Gegenstand über den Bildschirm "fahren" lässt, da hier die Geschwindigkeit davon abhängt wie viele Pixel bzw. welche Entfernung der Pixel aka "das Objekt" in der Zeit zurückgelegt hat..
Kurz: Für normale UI-Gestaltungen hast du mit deiner Aussage recht - problematisch wirds wenn es sich um ein Spiel oder eine andere grafisch aufwendige(re) Anwendung handelt.
Wie ich es verstanden habe, rechnet Android von Hause aus sowieso nur auf Faktor 0,75, 1, 1,25, 1,5 und 2 um (hdpi, mdpi, usw..) -> wem das zu ungenau ist kann über die ScreenDimensions sich selbst einen Skalierungsfaktor "erstellen". So bleiben die großen Überraschungen später aus
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.