Was ist mipmap-anydpi-v26 im res-Verzeichnis in Android Studio 3.0?
Lesezeit: 4 Minuten
0xAliHn
Sobald wir in Android Studio 3.0 ein Projekt erstellt haben, wird ein Ordner mit dem Namen mipmap-anydpi-v26 wird automatisch in der erstellt res Verzeichnis. Was macht es eigentlich? Warum brauchen wir es? Wie werden wir es für Entwicklungszwecke nutzen?
Außerdem werden in diesem Ordner nach der Projekteinrichtung automatisch zwei XML-Dateien erstellt. Warum befinden sich diese XML-Dateien in einem Mipmap-Ordner? Ich dachte, wir sollten alle XML-Dateien in einem Drawable-Ordner statt in Mipmap aufbewahren.
welche XML-Dateien erstellt wurden
– tyczj
13. Juli 2017 um 12:50 Uhr
In meinem Fall wurde diese Datei zweimal erstellt –> res/mipmap-anydpi-v26/ic_launcher.xml
Android Studio 3 erstellt eine adaptives Symbol für Ihre App, die nur in SDK 26 und höher verfügbar ist. Launcher-Icons sollten in den Mipmap-Ordnern abgelegt werden.
Wenn Sie sich Ihr Manifest ansehen, können Sie sehen, dass es darauf verweist ic_launcher
android:icon="@mipmap/ic_launcher"
Wenn Sie in Ihrem Mipmap-Ordner nachsehen, sehen Sie Ihre normalen 5 verschiedenen Launcher-Symbole, die für alles verwendet werden, was niedriger als SDK 26 ist. Für SDK 26 und höher werden die XML-Dateien von verwendet anydpi-v26 Ordner, um das adaptive Symbol zu verwenden.
Bedeutet dies, dass Ihr “adaptives Symbol” nur in einer Bildgröße bereitgestellt werden muss und die Größe basierend auf der aktuellen dpi/Auflösung automatisch angepasst wird, oder stimmt das nicht? Wenn ersteres, wo platziere ich physisch das adaptive Icon-Bildpaar? Wenn letzteres der Fall ist, bedeutet dies, dass ich das Bild immer noch in mehrere Größen aufteilen und in die jeweiligen Ordner legen muss? (Wohlgemerkt, ich verwende Unity3d, also profitiere ich nicht von dem, was Android Studio automatisch bietet).
– vargonisch
18. September 2017 um 21:38 Uhr
Sie müssen immer noch Symbole mit unterschiedlicher Größe verwenden, aber sie werden im Mipmap-Ordner unter dem respektierten dpi-Ordner abgelegt
– tyczj
19. September 2017 um 13:00 Uhr
Vielen Dank. Ich bin immer noch verwirrt, warum die “drawable-“-Ordner nur durch scheinbar äquivalente “mipmap-“-Ordner ersetzt werden. Ich habe es aber zum Laufen gebracht.
Mein Symbol wird von Kanten beschnitten. Ich möchte es zentralisieren, aber ic_launcher.xml bietet das nicht. Ich habe alle Dichten meines Symbols in den zugehörigen Ordnern abgelegt. Aber ic_launcher.xml schneidet mein Icon ab, sodass es nicht möglich ist, mein ganzes Icon zu sehen.
– Hilal
26. Oktober 2020 um 16:05 Uhr
Beide obigen Antworten geben eine ziemlich gute Zusammenfassung dessen, was mipmap-anydpi-v26 Ordner tut, aber ich fühle warum Teil fehlt. Also hier sind meine 2 Cent.
irgendeindpi: Diese Ressourcen haben in allen dpi Vorrang. Also auch wenn du hast mipmap-hdpi oder mipmap-mdpi Passend zur aktuellen Gerätedichte wird die Ressource von mipmap-anydpi immer abgerufen.
anydpi-v26: Dies ist ein zusätzlicher Filter über nur Anydpi. Dies besagt, dass Ressourcen immer abgeholt werden anydpi-v26 unabhängig von der Gerätedichte nur wenn SDK/API-Level 26 oder höher ist(Oreo).
Sie können also mipmap-anydpi-v26 oder drawable-anydpi-v26 haben. Alle Ressourcenordner folgen der obigen Logik.
Jetzt, da wir die Antwort auf “warum mipmap-anydpi-v26” kennen? Versuchen wir zu verstehen, warum “mipmap-anydpi-v26/ic_launcher.xml”.
Das ist weil ic_launcher.xml wird verwendet, um das adaptive Symbol für Ihre App zu beschreiben, das nur in SDK 26 und höher verfügbar ist, wie in anderen Antworten erwähnt. Hoffe das hilft.
Da scheint mehr dran zu sein. Da ich geändert habe, um nur v28 und darüber hinaus zu unterstützen, habe ich umbenannt mipmap-anydpi-v26 zu mipmap-anydpi – aber das hat die adaptiven Symbole durcheinander gebracht.
– Martin
16. Juli 2021 um 8:49 Uhr
Ich habe eine Erklärung dazu gefunden, hier ist ein Kontext:
Um ein adaptives Symbol hinzuzufügen, das alle PNGs auf Geräten mit API 26+ ersetzt, fügen Sie eine hinzu res/mipmap-anydpi-v26/ic_launcher.xml Datei, die so aussieht:
Durch die Platzierung in der mipmap-anydpi-v26 Ordner, wird das Ressourcensystem ihn allen Dateien in den anderen dpi-Ordnern vorziehen (genau das, was Sie wollen, da diese Datei alle ersetzt) und dass er nur in API 26+-Geräten verwendet werden sollte.
Aber wenn ich den Inhalt des XML sehe, zeigt er auf einen Vektorgrafik-Codeblock. Nur um ehrlich zu sein, ich bin neu in der Vektorgrafik und würde jeden fragen, wie man mit dem aktuellen PNG umgeht, da mein Symbol etwas ist kompliziert und im Moment wird es sehr lange dauern, eine Vektorgrafik für mein PNG-Icon zu erstellen, also wie gehe ich damit vor?
– Shri Krishna
16. Mai 2018 um 12:02 Uhr
11445500cookie-checkWas ist mipmap-anydpi-v26 im res-Verzeichnis in Android Studio 3.0?yes
welche XML-Dateien erstellt wurden
– tyczj
13. Juli 2017 um 12:50 Uhr
In meinem Fall wurde diese Datei zweimal erstellt –>
res/mipmap-anydpi-v26/ic_launcher.xml
– meyasir
21. April 2018 um 22:52 Uhr
developer.android.com/guide/practices/ui_guidelines/…
– M. Afrashteh
20. Februar 2021 um 0:40 Uhr