2016-04-29 5 views
0

Zum Beispiel stelle ich einige Bilder in LDPI, MDPI und xhdpi Ordner.Wie Android wählen zwischen Rasterdichte

Wenn ich App auf dem Gerät laufen mit hdpi Dichte, die Ressource wird es abholen - LDPI oder MDPI?

+1

Android die eine auswählen, die Benutzer des Telefons in dieser Kategorie ist oder vielleicht der nächste, gibt es Möglichkeiten, um herauszufinden, was es abholt, aber in vielen Szenarien wird es nicht dich angehen. –

Antwort

1

In diesem Fall wählt Android ** mdpi *. Sie können mehr lesen über How Android Finds the Best-matching Resource

+0

Gehen Sie davon aus (aus dem Artikel)? "Bei der Auswahl von Ressourcen auf der Grundlage der Bildschirmgrößenqualifizierer verwendet das System Ressourcen, die für einen Bildschirm kleiner als der aktuelle Bildschirm ausgelegt sind, wenn keine Ressourcen vorhanden sind, die besser zu" –

+0

"passen, aber Sie können darüber in der Ende des Artikels. ** Bei der Auswahl von Ressourcen auf der Grundlage der Bildschirmgrößenqualifizierer verwendet das System Ressourcen, die für einen Bildschirm kleiner als der aktuelle Bildschirm ausgelegt sind, wenn keine Ressourcen vorhanden sind, die besser übereinstimmen ** – Alexander

2

Entnommen http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch

Wenn keine entsprechende Ressource verfügbar ist, verwendet das System die Standard Ressource und skaliert sie nach oben oder unten je nach Bedarf die aktuelle Bildschirmgröße und -dichte Die „default“ Ressourcen übereinstimmen Diejenigen, die nicht mit einem Konfigurationsqualifikator markiert sind. Die Ressourcen in sind z. B. ziehbare/sind die standardmäßigen ausklappbaren Ressourcen. Das System geht davon aus, dass Standardressourcen für die Basisbildschirmgröße und Dichte, die eine normale Bildschirmgröße und eine mittlere Dichte ist, ausgelegt sind. Daher skaliert das System Standard-Dichte-Ressourcen für High-Density Bildschirme und unten für Low-Density-Bildschirme, wie geeignet. Wenn jedoch das System nach einer dichtespezifischen Ressource sucht und es nicht im dichtespezifischen Verzeichnis findet, verwendet es nicht immer die Standardressourcen. Das System kann stattdessen eine der anderen dichte-spezifischen Ressourcen verwenden, um bessere Ergebnisse zu liefern, wenn die Skalierung ist. Zum Beispiel, wenn auf der Suche nach einer Low-Density-Ressource und ist nicht verfügbar, das System zieht es vor, die High-Density Version der Ressource zu skalieren, weil das System kann leicht skalieren eine High-Density-Ressource nach unten zu niedriger Dichte um einen Faktor von 0,5, mit weniger Artefakte, verglichen mit Skalierung einer Ressource mittlerer Dichte durch einen Faktor von 0,75.

1

Betrachten Sie MDPI ist 1. Dann ist LDPI 0,75 und HDPI ist 1,5. Das bedeutet, dass, wenn Sie ein Zeichen haben, das 50x50 auf einem MDPI-Bildschirm ist, es ~ 37x37 auf einem LDPI-Bildschirm und 75x75 auf einem HDPI-Bildschirm sein muss.

Wenn Sie keine Sonderzeichen für jede Dichte bereitstellen, skaliert Android das nächste verfügbare Zeichen automatisch.

Sie sollten nicht berücksichtigen, dass die DPI eines Geräts etwas mit Bildschirmgröße und/oder Anzahl der Pixel und/oder Auflösung und/oder Seitenverhältnis zu tun hat. Ein Gerät könnte sehr klein sein und einen HDPI Bildschirm hat oder sehr groß und hat einen LDPI Bildschirm

LDPI Ressourcen für niedrige Dichte (LDPI) Bildschirme (~ 120 dpi). mdpi Ressourcen für Bildschirme mit mittlerer Dichte (mdpi) (~ 160 dpi). (Dies ist die Grundliniendichte.) Hdpi Ressourcen für High-Density (hdpi) Bildschirme (~ 240dpi). xhdpi Resources für extra-hohe Dichte (xhdpi) Bildschirme (~ 320dpi). xxhdpi Ressourcen für extra-extra-hohe Dichte (xxhdpi) Bildschirme (~ 480dpi).xxxhdpi Resources für extra-extra-extra-high-density (xxxhdpi) verwendet (~ 640dpi). Verwenden Sie dies für das Launcher-Symbol nur, siehe Hinweis oben.

bitte http://developer.android.com/guide/practices/screens_support.html überprüfen und SO beantworten https://stackoverflow.com/a/6373533/2826147

+0

Vielen Dank für Ihre Antwort, Informationen sind nützlich. Aber die Frage war, welche Ressource genommen würde. –