Seit Android 4.3 (Jelly Bean) können wir jetzt die res/mipmap
Ordner zum Speichern von "Mipmap" -Bildern verwenden.
Beispielsweise speichert Chrome für Android seine Symbole in diesen Ordnern anstelle der normaleren res/drawable
Ordner.
Wie unterscheiden sich diese Mipmap-Bilder von den anderen bekannten zeichnbaren Bildern?
Ich sehe, dass wir in meinem Manifest @mipmap/
stattdessen das Qualifikationsmerkmal verwenden @drawable/
, was angesichts des Namens des Ressourcenordners sinnvoll ist:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Verweise:
Das Android 4.3 APIs- Dokument enthält Folgendes:
Die Verwendung einer Mipmap als Quelle für Ihre Bitmap oder zum Zeichnen ist eine einfache Möglichkeit, ein qualitativ hochwertiges Bild und verschiedene Bildskalen bereitzustellen. Dies kann besonders nützlich sein, wenn Sie erwarten, dass Ihr Bild während einer Animation skaliert wird.
Android 4.2 (API-Stufe 17) hat die Unterstützung für Mipmaps in der Bitmap-Klasse hinzugefügt. Android tauscht die Mip-Bilder in Ihrer Bitmap aus, wenn Sie eine Mipmap-Quelle angegeben und setHasMipMap () aktiviert haben. In Android 4.3 können Sie jetzt auch Mipmaps für ein BitmapDrawable-Objekt aktivieren, indem Sie ein Mipmap-Asset bereitstellen und das Attribut android: mipMap in einer Bitmap-Ressourcendatei festlegen oder hasMipMap () aufrufen.
Ich sehe dort nichts, was mir hilft zu verstehen.
XML-Bitmap-Ressourcen haben eine android:mipMap
Eigenschaft:
Boolescher Wert. Aktiviert oder deaktiviert den Mipmap-Hinweis. Weitere Informationen finden Sie unter setHasMipMap (). Der Standardwert ist false.
Dies gilt meines Erachtens nicht für Startsymbole.
Die Frage wurde in Google Groups gestellt ( Der Zweck des Ressourcennamens "mipmap"?! ), Worauf Romain Guy antwortete:
Es ist nützlich, ein Bild mit einer größeren Auflösung bereitzustellen, die normalerweise berechnet wird (auf einem mdpi-Gerät möchte Launcher beispielsweise, dass das größere hdpi-Symbol große App-Verknüpfungen anzeigt.)
Ich denke, das macht fast Sinn, aber nicht ganz.
Ich bin immer noch geneigt, Randy Sugiantos Follow-up zu folgen:
Was sind die Vorteile davon? Gibt es eine Anleitung zur Verwendung von Mipmaps, wahrscheinlich für bessere Startsymbole?
Natürlich hat Wikipedia eine Seite für "Mipmap" , die sich auf eine ältere Technik bezieht, die 1983 erfunden wurde und die ich nicht ganz mit der aktuellen Android-Implementierung in Verbindung bringen kann.
Sollten wir heutzutage alle unsere App-Symbole in res/mipmap
Ordnern speichern und welche Richtlinien gelten für diese Mipmap-Bilder?
Update Nr. 1
Hier ist ein Blog-Beitrag, der versucht, es ein wenig zu erklären.
Das in diesem Blogbeitrag verwendete Bild zeigt jedoch, wie eine Datei mit vielen Logos aussieht. Dies ist nicht das, was ich im Mipmap-Ordner von Chrome sehe.
Der Chrome- mipmap-hdpi
Ordner enthält drei Bilder. Eines ist das Chrome-Logo für sich.
Seltsamerweise ist es 72x72, nicht 48x48, was ich erwarten würde.
Vielleicht ist das alles, was dazu gehört - wir müssen nur größere Symbole in den Mipmap-Ordnern behalten?
Update Nr. 2
Der Android Developers Blog-Beitrag vom 23.10.2014 bestätigt erneut die Idee, die mipmap
Ordner für Anwendungssymbole zu verwenden:
Wenn der Autor über die Bildschirmdichte des Nexus 6 spricht, schreibt er:
Es wird empfohlen, Ihre App-Symbole in Mipmap-Ordnern (nicht in den Zeichenordnern) zu platzieren, da sie mit anderen Auflösungen als der aktuellen Dichte des Geräts verwendet werden. Beispielsweise kann ein xxxhdpi-App-Symbol auf dem Launcher für ein xxhdpi-Gerät verwendet werden.
Update Nr. 3
Beachten Sie, dass Android Studio die ic_launcher.png
Symbole in den mipmap...
Ordnern erstellt und nicht die drawable...
Ordner, in denen Eclipse sie erstellt hat.