Wird eine Dichte qualifiziert drawable Ordner oder drawable-nodpi Vorrang?
Wenn ich definieren drawables für eine density qualified folder
(z.B. drawable-hdpi), und auch drawables zurückgreifen in drawable-nodpi
wird ein high density device
verwenden Sie die -hdpi
über die -nodpi
?
Was ist, wenn ich noch einen Schritt weiter und haben auch das gleiche setup für -land
Ordner.
Für alle zukünftigen Betrachtern dieser Frage: wenn Sie möchten, eine qualifizierte
-land
Ordner, der enthält auch -density
, stellen Sie sicher, um -land
ersten. Siehe dieser Tabelle.InformationsquelleAutor theblang | 2014-07-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, was die Priorität für
nodpi
, aber das sollte nie ein problem sein. Es klingt wie Sie sind Missverständnis dernodpi
qualifier. Sie sollten nichtnodpi
als fallback für Vermögenswerte, die Sie bieten nicht auf das Gerät die Dichte Eimer. Die korrekte fallback ist ein Ordner mit keine Dichte qualifier (z.B.drawable/
).Wenn das system nicht finden können, ein Objekt in der Gerät die Dichte (z.B. es ist ein ldpi Geräte, und Sie haben nicht ein
drawable-ldpi
Ordner), wird wieder an einen Ordner, ohne eine Dichte qualifier, *nicht dienodpi
qualifier`.Den
nodpi
qualifier wird verwendet, wenn Sie angeben möchten, eine Ressource, die verwendet werden, für alle dichten und dass Sie nicht möchten, dass Android zu skalieren. Vermögenswerte in der anderen Dichte Ordner (z.B.drawable-xhdpi
) skaliert werden, um die tatsächliche Bildgröße. Wenn Sie dienodpi
qualifier, Sie sollten nicht bieten, die gut in jeder anderen Ressource-Ordner.Es ist auch wichtig zu beachten, dass mit der Bildschirm Dichte-Qualifikation, wird Android auch lieber eine geringere Dichte Vermögenswertes über einen unqualifizierten Ressource. Wenn Sie ein xhdpi Geräte, aber Sie haben nur ein
drawable
und eindrawable-mdpi
Ordner, Android prüfen, ob der Vermögenswert in dem mdpi-Ordner, bevor der unqualifizierten Ordner.Bildansicht ist ein bisschen anders - es wird ein Quellbild in jeder form und Griff die Skalierung selbst. Wenn Sie Ihre drawable als hintergrund jeder Ansicht, die Sie beobachten sollten das richtige Verhalten. Ich würde auch nie ein Bild in die
drawable
Ordner - Sie sollten immer in einer qualifizierten Ordner.Du meinst, alle die Bilder sollten in einem qualifizierten Ordner? Warum? Wenn Sie ein Hintergrundbild, dass den Bildschirm ausfüllt, würde Sie produzieren ein Bild für jede qualifizierte Ordner?
Im Allgemeinen werden Sie wollen, um die Kontrolle der Skalierung, so dass Sie (oder Ihre Designer) erzeugt ein Bild, das sieht gut aus für jede Dichte Eimer, statt das system zu skalieren. Wenn der hintergrund nur einfarbig mit einem logo oder etwas in der Mitte, dann sollten Sie verwenden eine Kombination von Hintergrundfarbe und kleiner logo zentriert, anstatt ein einzelnes Bild auf dem ganzen Bildschirm.
drawable-nodpi
ist immer noch eine qualifizierte Ordner, ich möchte nur bleiben Weg von der Nutzungdrawable
für Bild-assets (verwenden Sie für XML-Elemente").Alle Dateien setzen in
drawable
wird vorgeführt von dem system in der gleichen Weise wie diedrawable-mdpi
wenn Sie geladen ist. So könnte es haben niedrigere Priorität, aber das Ergebnis ist das gleiche. Mein Rat wäre, niemals verwendetdrawable
und einfach, die Dinge in diedrawable-mdpi
wenn Sie planen, verwenden Siedrawable
.InformationsquelleAutor Tanis.7x
drawable-nodpi umgehen Skalierung und drawable wird die Standard-Skalierung:
drawable-nodpi ist effizient, wenn Ihr code tun werden, eigene Skalierung
(oder keine Skalierung) und Sie nicht möchten, dass das image pre-skaliert von Android.
Gibt es auch drawable-anydpi, nur um die Dinge eher verwirrend.
drawable keine Spezifikationen werden verwendet, wenn eine genaue übereinstimmung auf die Dichte und Bildschirm Spezifikationen nicht existieren. drawable-nodpi nach drawable.
UPDATE Wenn Sie sowohl drawable und drawble-nodpi, die Sie wählen, um entweder eine komplexere Regel nicht dokumentiert oder Android ist gebrochen. Durch Experimentieren habe ich bestätigt, dass Geräte mit Bildschirm-Dichte - < xhdpi wird die korrekte Auswahl der drawable Bild. Geräte mit Bildschirm-Dichte - >= xhdpi wird, wählen Sie den drawable-nodpi.
Auswahl Regel:
1. Pick match-Bildschirm-Dichte, einer von diesen ist:
InformationsquelleAutor LanDenLabs
Es hängt davon ab.
Zunächst
nodpi
ist nicht eine fallback-Ordner. Wenn Sie ein hdpi-Gerät, das system wirdhdpi
- Ordner.nodpi
Ordner enthält Ressourcen, die nicht dazu gedacht sind, skaliert.drawable/
verwendet werden kann als fallback-Ordner in den Fall Gerät, Dichte, spezifischen Ressourcen sind nicht vorhanden.Dann, wenn wir den Blick auf die möglichen Qualifier Werte für die Bildschirm-Pixel-Dichte(dpi), diese sind aufgeführt als:
Hinweis: sollte Man alle Ressourcen in die
drawable-nodpi
Ordner, den Sie nicht werden möchten skaliert. Die Unterstützung mehrerer Bildschirme, Android bevorzugt zu verkleinern einem größeren original-Bild anstelle von scaling-up eine kleinere original-Bild. Diese Ressourcen sollten nicht vorhanden sein, in jeder anderen drawable-qualifier Ordner, sonst könnten sich diese skaliert werden, welche Art von Niederlagen der ganze Zweck.Es muss auch darauf hingewiesen werden, dass:
Hier ist die Ressource Flussdiagramm zur Auswahl von, die das system verwendet, um zu finden, die beste match:
Sie scheinen verwirrt. Ich zitiere direkt aus dem Android-Dokumentation, die kristallklar ist. Bitte erläutern Sie, was Sie nicht verstehen.
Nein, Sie sind derjenige, der scheint verwirrt. Wenn es ein hdpi-Gerät, dann drawable-hdpi Ordner hat höchste Priorität. Es gibt keine Punkt-zu-nehmen, drawable-ldpi als höchste Priorität.
Im Falle von hdpi-Gerät, wenn Sie nicht drawable-hdpi Ressource, die das system verwenden, welche Ressourcen sind das beste match. Wie ich bereits zitiert ', Wenn Sie nicht alternative Ressourcen mit qualifizierern, dass die bessere übereinstimmung mit den aktuellen Gerätekonfiguration, kann das system je nachdem, was Ressourcen sind, die am besten zu entsprechen.'
Auf dieser Grundlage ldpi (Höchste Priorität). und tvdpi (Niedrigste Priorität) sind definitiv falsch.
InformationsquelleAutor Prince
Den drawable-nodpi qualifier verwendet wird, wenn Bild - /asset nicht skaliert werden müssen.
Drawable in der anderen Dichte Ordner (z.B. in drawable-xhdpi) skaliert werden, um die tatsächliche Bildgröße.
drawable-nodpi für eine Konstante Größe in allen Dichte-Geräte.
InformationsquelleAutor Ravi