Android 4.3'ten (Jelly Bean) beri artık res/mipmap
"mipmap" görüntülerini saklamak için klasörlerden yararlanabiliriz.
Örneğin, Android için Chrome , simgelerini daha normal res/drawable
klasörler yerine bu klasörlerde saklar .
Bu mipmap görüntüleri tanıdık diğer çekilebilir görüntülerden nasıl farklıdır?
Manifestimde kaynak klasör adı verildiğinde @mipmap/
bunun yerine niteleyiciyi kullandığımızı görüyorum @drawable/
:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Referanslar:
Android 4.3 API'leri belge söylemek aşağıdaki vardır:
Bitmap'iniz veya çekilebilir için kaynak olarak bir mipmap kullanmak, kaliteli bir görüntü ve çeşitli görüntü ölçekleri sağlamanın basit bir yoludur; bu, özellikle bir animasyon sırasında görüntünüzün ölçeklendirilmesini beklediğinizde yararlı olabilir.
Android 4.2 (API seviye 17), Bitmap sınıfındaki mipmap'ler için destek ekledi; Android, bir mipmap kaynağı sağlayıp setHasMipMap () özelliğini etkinleştirdiğinizde Bitmap'inizdeki mip görüntülerini değiştirir. Şimdi Android 4.3'te, bir mipmap öğesi sağlayarak ve bir bitmap kaynak dosyasında android: mipMap özniteliğini ayarlayarak veya hasMipMap () öğesini çağırarak bir BitmapDrawable nesnesi için mipmap'leri de etkinleştirebilirsiniz.
Orada anlamama yardımcı olacak hiçbir şey görmüyorum.
XML Bitmap kaynaklarının bir android:mipMap
özelliği vardır:
Boole. Mipmap ipucunu etkinleştirir veya devre dışı bırakır. Daha fazla bilgi için setHasMipMap () işlevine bakınız. Varsayılan değer false değeridir.
Bu, görebildiğim kadarıyla fırlatıcı simgeleri için geçerli değildir.
Soru, Romain Guy'ın yanıtladığı Google Grupları'nda ( "mipmap kaynak adının amacı?" ) Ortaya atıldı :
Normalde hesaplanacak daha büyük bir çözünürlükte bir görüntü sağlamak yararlıdır (örneğin, bir mdpi cihazında, Launcher daha büyük hdpi simgesinin büyük uygulama kısayollarını görüntülemesini isteyebilir.)
Bunun neredeyse mantıklı olduğunu hissediyorum, ama tam olarak değil.
Hala Randy Sugianto'nun takibine gitmeye meyilliyim:
Bunun avantajları nelerdir? Muhtemelen daha iyi başlatıcı simgeleri için mipmap'lerin nasıl kullanılacağı hakkında bir rehber var mı?
Tabii ki, Wikipedia'nın "Mipmap" için , 1983'te icat edilen daha eski bir tekniğe atıfta bulunan ve şu anki Android uygulamasıyla tam olarak ilişkilendiremediğim bir sayfası var .
Bugünlerde tüm uygulama simgelerimizi res/mipmap
klasörlerde saklamalı mıyız ve bu mipmap görüntüleri için yönergeler nelerdir?
Güncelleme # 1
İşte size biraz açıklamaya çalışan bir blog yazısı.
Ancak bu blog gönderisinde kullanılan resim, içinde çok sayıda logo bulunan bir dosyaya neyin benzediğini gösterir. Chrome'un mipmap klasöründe gördüğüm bu değil.
Chrome'un mipmap-hdpi
klasörü üç resim içeriyor. Birincisi, kendi başına Chrome logosu.
Garip bir şekilde, görmeyi umduğum 48x48 değil 72x72.
Belki de hepsi bu kadar - sadece mipmap klasörlerinde daha büyük simgeler tutmamız gerekiyor?
Güncelleme # 2
23/10/2014 tarihli Android Geliştiricileri Blog yayını, mipmap
klasörleri uygulama simgeleri için kullanma fikrini bir kez daha doğrulamaktadır :
Nexus 6 ekran yoğunluğu hakkında konuşurken yazar şöyle yazar:
Uygulama simgelerinizi cihazın geçerli yoğunluğundan farklı çözünürlüklerde kullanıldığı için mipmap klasörlerine (çizilebilir klasörlere değil) yerleştirmek en iyi uygulamadır. Örneğin, bir xxhdpi cihazı için başlatıcıda bir xxxhdpi uygulama simgesi kullanılabilir.
Güncelleme # 3
Android Studio'nun , Eclipse'in bunları oluşturmak için kullandığı klasörlerden ziyade klasörlerde ic_launcher.png
simgeleri oluşturduğunu unutmayın .mipmap...
drawable...