Согласно сообщению о разработке адаптивных иконок , изображения адаптивных иконок, созданные в каталоге drawable
для использования на устройствах API 26+, соответствуют размеру и форме адаптивных иконок:
![adaptive icon size](https://i.stack.imgur.com/gmEta.png)
Вы заметите, что в то время как все изображение должно быть 108dp на 108dp, фактическая визуальная область - только центр 72dp - внешний край виден только при перетаскивании значков (где эффекты параллакса могут потому что это будет видно).
Pixel Launcher, как и многие сторонние средства запуска, обеспечивают использование адаптивных значков на устройствах API 26+, поэтому всегда следует проектировать с учетом этого требования - альтернатива, например, в случае Pixel Launcher, поместить неадаптивный значок в белый круг.
Поэтому вы всегда должны создавать свой значок таким образом, чтобы фоновый слой занимал полный размер, но любое изображение переднего плана, которое вы помещаете поверх этого фонового слоя, должно содержаться в этой центральной области.
Вы не можете просто удалить это поле без испорченного изображения на переднем плане, но согласно Внедрение адаптивных значков в блоге , вы можете удалить любой белый избыток вокруг передний план, поместив ваше обрезанное изображение в прозрачный рисунок 108dp x 108dp, используя InsetDrawable
.
<!-- Center a 54x54dp image in the 108x108dp size of adaptive icons -->
<inset
android:drawable="@mipmap/ic_fg_trimmed"
android:insetLeft="25%"
android:insetTop="25%"
android:insetRight="25%"
android:insetBottom="25%" />
Хотя это должно быть чем-то, что вам нужно сделать с ic_launcher_foreground
изображением самостоятельно после факта.
Лучшим решением, в большинстве случаев, является использование векторных изображений для рисования в качестве входных данных для мастера графических активов Android Studio - это гарантирует, что они всегда имеют правильный размер и не занимают дополнительного места в вашем APK.