Mipmap для рисования иконок
Начиная с Android 4.3 (Jelly Bean), теперь мы можем использоватьres/mipmap
папки для хранения изображений "mipmap".
Например,Chrome для Android хранит свои значки в этих папках вместо более обычныхres/drawable
папки.
Чем эти изображения в формате MIPPAM отличаются от других известных изображений для рисования?
Я вижу, что в моем манифесте мы используем@mipmap/
классификатор вместо@drawable/
, что имеет смысл, учитывая имя папки ресурса:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Рекомендации:API Android 4.3 В документе сказано следующее:
Использование mip-карты в качестве источника для вашего растрового или растрового изображения - это простой способ обеспечить качественное изображение и различные масштабы изображения, что может быть особенно полезно, если вы ожидаете, что ваше изображение будет масштабироваться во время анимации.
В Android 4.2 (уровень API 17) добавлена поддержка mipmaps в классе Bitmap - Android меняет изображения mip в своем Bitmap, когда вы указали источник mipmap и включили setHasMipMap (). Теперь в Android 4.3 вы можете включить mipmaps для объекта BitmapDrawable, предоставив актив mipmap и установив атрибут android: mipMap в файле ресурсов растрового изображения или вызвав hasMipMap ().
Я не вижу там ничего, что помогло бы мне понять.
Ресурсы XML Bitmap естьandroid:mipMap
имущество:
Boolean. Включает или отключает подсказку mipmap. Смотрите setHasMipMap () для получения дополнительной информации. Значением по умолчанию является false.
Насколько я вижу, это не относится к иконкам запуска.
Вопрос был поднят в группах Google (Цель названия ресурса "mipmap" ?!), на что Ромен Гай ответил:
Полезно предоставить изображение с большим разрешением, которое обычно рассчитывается (например, на устройстве с поддержкой mdpi, Launcher может захотеть, чтобы на значке большего размера hdpi отображались ярлыки больших приложений).
Я чувствую, что это почти имеет смысл, но не совсем.
Я все еще склонен пойти с продолжением Рэнди Сугианто:
Каковы преимущества этого? Есть ли какое-нибудь руководство, как использовать mipmaps, вероятно, для лучших иконок запуска?
Конечно,В Википедии есть страница для "Mipmap", которая относится к более старой методике, изобретенной в 1983 году, которую я не могу отнести к текущей реализации Android.
Должны ли мы хранить все нашизначки приложений вres/mipmap
папки в наши дни, и каковыметодические рекомендации для этих изображений MipMap?
Обновление № 1
Вот пост в блоге, который пытается объяснить это немного.
Mipmapping для рисования в Android 4.3Но изображение, использованное в этом посте, показывает, что выглядит как один файл с множеством логотипов. Это не то, что я вижу в папке Chrome mipmap.
Хромmipmap-hdpi
Папка содержит три изображения. Одним из них является логотип Chrome, сам по себе.
Как ни странно, это 72х72, а не 48х48, что я ожидаю увидеть.
Возможно, это все, что нужно для этого - нам просто нужно держать большие значки в папках mipmap?
Обновление № 2
Сообщение в блоге разработчиков Android от 23.10.2014 вновь подтверждает идею использованияmipmap
папки для значков приложений:
Говоря о плотности экрана Nexus 6, автор пишет:
Рекомендуется размещать значки приложений в папках mipmap (не в папках для рисования), поскольку они используются с разрешением, отличным от текущей плотности устройства. Например, значок приложения xxxhdpi можно использовать на панели запуска для устройства xxhdpi.
Обновление № 3
Обратите внимание, что Android Studio создаетic_launcher.png
значки вmipmap...
папки, а неdrawable...
папки, в которых Eclipse использовал их для создания.