Адаптивный значок, или AdaptiveIconDrawable
, может отображаться по-разному в зависимости от индивидуальных возможностей устройства и пользовательских тем. Адаптивные значки в основном используются программой запуска на главном экране, но их также можно использовать в ярлыках, приложении «Настройки», диалоговых окнах общего доступа и на обзорном экране. Адаптивные значки используются во всех форм-факторах Android.
В отличие от растровых изображений , адаптивные значки могут адаптироваться к различным вариантам использования:
Различные формы: адаптивный значок может отображать различные формы на разных моделях устройств. Например, он может отображать круглую форму на одном OEM-устройстве и отображать прямоугольную форму (форму между квадратом и кругом) на другом устройстве. Каждый OEM-производитель устройства должен предоставить маску, которую система использует для отображения всех адаптивных значков одинаковой формы.
Визуальные эффекты: адаптивный значок поддерживает различные привлекательные визуальные эффекты, которые отображаются, когда пользователи размещают или перемещают значок по главному экрану.
Пользовательские темы: начиная с Android 13 (уровень API 33), пользователи могут использовать темы для своих адаптивных значков. Если пользователь включает тематические значки приложений, включив переключатель «Тематические значки» в настройках системы, и средство запуска поддерживает эту функцию, система использует цвет выбранных пользователем обоев и темы для определения цвета оттенка.
В следующих сценариях на главном экране не отображается значок тематического приложения, а вместо него отображается значок адаптивного или стандартного приложения:
- Если пользователь не включает тематические значки приложений.
- Если в вашем приложении нет монохромного значка.
- Если программа запуска не поддерживает тематические значки приложений.
Дизайн адаптивных иконок
Чтобы ваш адаптивный значок поддерживал различные формы, визуальные эффекты и пользовательскую тему, дизайн должен соответствовать следующим требованиям:
Для цветной версии значка необходимо предоставить два слоя: один для переднего плана и один для фона. Слои могут быть либо векторными, либо растровыми изображениями, хотя векторы предпочтительнее.
Если вы хотите поддерживать пользовательскую тему значков приложений, предоставьте один слой для монохромной версии значка.
Размер всех слоев — 108x108 dp.
Используйте значки с чистыми краями. Слои не должны иметь масок или фоновых теней вокруг контура значка.
Используйте логотип размером не менее 48x48 пикселей. Его размер не должен превышать 66 x 66 dp, поскольку внутренняя часть значка размером 66 x 66 dp отображается в маскированном окне просмотра.
Внешние 18 dp на каждой из четырех сторон слоев зарезервированы для маскировки и создания визуальных эффектов, таких как параллакс или пульсация.
Чтобы узнать, как создавать адаптивные значки с помощью Android Studio, см. наш шаблон Figma значков приложений для Android или документацию Android Studio по созданию значков запуска . Также ознакомьтесь с публикацией в блоге «Проектирование адаптивных иконок» .
Добавьте адаптивный значок в свое приложение
Адаптивные значки, как и неадаптивные, указываются с помощью атрибута android:icon
в манифесте приложения .
Необязательный атрибут android:roundIcon
используется средствами запуска, представляющими приложения с круглыми значками, и может быть полезен, если значок вашего приложения включает круглый фон в качестве основной части его дизайна. Такие средства запуска необходимы для создания значков приложений путем применения круглой маски к android:roundIcon
, и эта гарантия может позволить вам оптимизировать внешний вид значка вашего приложения, например, слегка увеличив логотип и гарантируя, что при обрезке круглый фон полное кровотечение.
Следующий фрагмент кода иллюстрирует оба этих атрибута, но в большинстве приложений указывается только android:icon
:
<application ... android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" ...> </application>
Затем сохраните адаптивный значок в файле res/mipmap-anydpi-v26/ic_launcher.xml
. Используйте элемент <adaptive-icon>
, чтобы определить ресурсы переднего плана, фона и монохромного слоя для ваших значков. Внутренние элементы <foreground>
, <background>
и <monochrome>
поддерживают как векторные, так и растровые изображения.
В следующем примере показано, как определить элементы <foreground>
, <background>
и <monochrome>
внутри <adaptive-icon>
:
<?xml version="1.0" encoding="utf-8"?> ... <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <background android:drawable="@drawable/ic_launcher_background" /> <foreground android:drawable="@drawable/ic_launcher_foreground" /> // Starting with Android 13 (API level 33), you can opt-in to providing a // <monochrome> drawable. <monochrome android:drawable="@drawable/ic_launcher_monochrome" /> </adaptive-icon> ...
Вы также можете определить объекты рисования как элементы, встроив их в элементы <foreground>
, <background>
и <monochrome>
. В следующем фрагменте показан пример того, как сделать это с помощью рисуемого переднего плана.
<?xml version="1.0" encoding="utf-8"?> ... <foreground> <inset android:insetBottom="18dp" android:insetLeft="18dp" android:insetRight="18dp" android:insetTop="18dp"> <shape android:shape="oval"> <solid android:color="#0000FF" /> </shape> </inset> </foreground> ...
Если вы хотите применить к ярлыкам ту же маску и визуальный эффект, что и обычные адаптивные значки, воспользуйтесь одним из следующих методов:
- Для статических ярлыков используйте элемент
<adaptive-icon>
. - Для динамических ярлыков вызовите метод
createWithAdaptiveBitmap()
при их создании.
Дополнительные сведения о реализации адаптивных значков см. в разделе «Реализация адаптивных значков» . Дополнительную информацию о ярлыках см. в разделе Обзор ярлыков приложений .
Дополнительные ресурсы
Дополнительные сведения о разработке и реализации адаптивных значков см. в следующих ресурсах.
- Шаблон страницы сообщества Figma
- Понимание адаптивных значков Android
- Проектирование адаптивных иконок
- Реализация адаптивных значков
- Создание значков приложений в Android Studio
- Характеристики дизайна значков Google Play