Как изменить иконку приложения в android studio
Перейти к содержимому

Как изменить иконку приложения в android studio

  • автор:

Создаём тематические иконки для приложения на Android 13

В 2021 году Google анонсировал Material You и тем самым взял курс на персонализацию Android-устройств.

Одним из способов настройки внешнего вида своего рабочего стола для пользователя стала добавленная в этом году в Android 13 новая функция — «Тематические значки».

Тематические значки — это иконки, которые могут изменять свой цвет в зависимости от цвета, выбранного пользователем:

На момент публикации удалось найти только пару приложений, которые уже имеют адаптивные иконки (не считая приложений Google, разумеется):

Далее мы рассмотрим весь процесс создания тематической иконки для вашего приложения.

Итак, определимся, что файл с иконкой у нас будет называться ic_launcher.xml.

Укажем его в манифесте:

Создаем папку res/mipmap-anydpi-v26 и в ней файл ic_launcher.xml следующего вида:

где iconColor — это основной цвет фона вашей иконки, а ic_launcher_foreground —

это сама иконка в векторном формате.

Файл ic_launcher_foreground.xml должен находиться у вас в папке drawable-v24 .

Пример содержимого файла ic_launcher_foreground.xml :

Google накладывает следующие ограничения для адаптивных иконок:

  • Иконка должна иметь один слой
  • Размер слоя должен быть 108x108dp
  • Размер самого логотипа на иконке должен быть не меньше 48x48dp, но и не превышать 72x72dp
  • Нужно оставить отступы 18dp от каждой стороны логотипа
  • Для иконки нельзя использовать тени или маски

Вот и все. Теперь ваше приложение поддерживает новую функцию Android 13 «Тематические значки», и его иконку хочется перенести на рабочий стол на видное место.

  • Разработка мобильных приложений
  • Разработка под Android

Установить иконку приложения Android Studio

Создаем в Adobe Photoshop иконку размером 512 на 512 с расширением .jpg. Открываем проект в Android Studio и находим папку с ресурсами — res. Обычно находится в каталоги Имя вашего проекта -> src -> main -> res. Правой кнопкой кликаем на res, открывается контекстное меню, переходим New -> Image Asset.

Android Studio image asset

Открывается окно Configure Image Asset в поле Path указываем путь к нашей иконки.

Configure Image Asset Android Studio

Предупреждение An icon with the same name already exists and will be overwritten говорит о том, что иконка с таким же именем уже существует и будет перезаписана.

После чего должны смениться стандартные иконки Android Studio на ваши.

Asset Studio

Далее жмём Next и Finish.

Configure Icon Path Android Studio

Предупреждение Some existing files (shown in red) will be overwritten by tjhjs operation. указывает на то, что файлы выделенные красным цветом будут заменены на новые файлы.

После чего в папке res создадутся новые папки с иконками c разными разрешениями: mipmap-anydpi-v26, mipmap-hdpi, mipmap-mdpi, mipmap-xhdpi, mipmap-xxhdpi, mipmap-xxxhdpi.

2492

Как изменить стандартную иконку Апк приложенния сделанного на Android Studio?

5bf5562d8eb11705353276.jpeg

Покажите как изменить иконку на примере .

  • Вопрос задан более трёх лет назад
  • 26108 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 2

KuSu

Android разработчик

ic_launcher ищи в ресурсах проекта. A еще, как вариант, на папке res правой кнопкой -> New -> Image Asset — > Launcher Icons

Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать
mister_byt @mister_byt

Добавить в папку drawable нужное изображение и в файле Manifest прописать путь android:icon=»@drawable/название_изображения»

Ответ написан более трёх лет назад
Нравится 3 1 комментарий

Кстати, хорошая идея, но вот засада: если выйти из приложения и просмотреть открытые вкладки, то отображаться будет стандартная иконка андроида. Печаль .

Ваш ответ на вопрос

Войдите, чтобы написать ответ

android

  • Android
  • +1 ещё

Как корректно реализовать Базу данных в приложении на Андроид?

  • 1 подписчик
  • вчера
  • 53 просмотра

Векторная иконка приложения для Андроид — полное руководство.

Однажды копаясь в Андроид документации я с большим удивлением заметил, что в SDK к версии 26 были добавлены не только адаптивные иконки, но и возможность совсем отказаться от растровых иконок лаунчера на новейших версиях Андроид. Это значит, что вам вовсе не нужно создавать по растровому ассету к каждому разрешению экрана воспользоваться одним/двумя векторными файлами для всех возможных разрешений! Так как растровые иконки достаточно увесистые вы можете таким образом сэкономить много килобайтов в размере приложения. Тут как и везде есть свои моменты и к сожалению я не нашел в интернете полного описания всего процесса. Ну что же, значит пришла моя пора заполнить этот пробел! Ниже вы найдёте видео процесса изготовления единой векторной иконки для приложения, а руководство также доступно на английском и чешском языках.

Прежде чем мы начнём

Избавится от растровых изображений в целой аппликации — мечта многих оптимизаторов. Особенно если приложения не большое а растровые иконки, при неправильном изготовлении весят почти четверть общего размера приложения. Но тут как и везде есть свои недостатки, давайте поговорим о них, возможно в вашем случае векторная икона — не вариант. Итак:

  • Векторный формат в ОС Андроид был введен в версии 21, в качестве иконки приложения в лаунчере векторные изображения можно использовать только в версиях 26 и выше. Это значит, что если Ваше приложение должно поддерживать и более старые версии — Вам все равно придется иметь в наличии растровые иконки. Так что бонус тут не большой.
  • Векторный формат который используется в ОС Андроид это не привычные нам SVG/EPS/AI и так далее, это формат XML, а это значит очень ограниченное использование. Этот формат не поддерживает атрибуты стилей, т.е. какие либо эффекты, блендинг, даже простейшие тени, блюр. Вы можете видеть начале видео, что происходит с тенями — они просто пропадают. Если у вас достаточно умелый график в команде, то в принципе это ограничение можно обойти переведя например тени в простые градиенты от полного цвета в абсолютно прозрачный итд. Если же у вас вовсе нет векторного оригинала или там слишком много эффектов — возможно игра не стоит свеч.

На этом минусы заканчиваются. Если ваше приложение должно запускаться лишь на устройствах которые ещё получают закладки безопасности (т.е. в момент написания статьи SDK версии 27+) или же использует какие то новшества современных Андроид систем/датчиков/устройств — векторная иконка отличный выбор. Вы можете сэкономить в несколько раз как на размере так и на файлах для иконки, имея лишь 1-2 файла изображения и пару файлов с их описанием! Звучит круто? Тогда ниже вы найдете рецепт того как это все приготовить.

Подготовка файлов

Я не буду вдаваться в подробности создания файлов иконки, так как они абсолютно идентичны остальным адаптивным иконкам. В интернете буквально тонны всевозможных шаблонов для адаптивных иконок и руководств для них. Можно использовать их все, с той лишь разницей, что в результате мы будем использовать файлы SVG а не PNG. Т.е. это будет один или два файла: первый с задним фоном, который должен иметь область для параллакс эффекта и файл переднего плана. В моем примере я использую вариант где задним фоном служит просто цвет, так что у меня будет один файл с описанием цвета и один файл с векторной графикой.

Итак если вы имеете файл(ы) SVG, то в следующем шаге нам понадобится Android Studio, впрочем если вы занимаетесь разработкой для ОС Андроид, вы и так знаете этот софт. Это бесплатное ПО можно скачать по адресу:

Важно! Векторные ассеты можно создавать лишь в версии 4.2.2 и выше.

Запустите студию, откройте свой проект, после загрузки выберете вкладку Project (первая вкладка слева сверху). В папке с ресурсами с помощью правого клика мыши выведите контекстное меню. В нем выберете первый элемент — New, затем Vector Asset. Откроется Asset Studio, в нем выберете тип: Локальный файл и путь через кнопку с папкой. Проверьте как иконка выглядит и нажмите кнопку Next. Тут вы увидите путь и название к вашему XML файлу с векторной иконкой. Повторите для второго файла если вы используете вектор как в переднем так и на заднем плане. Готово.

Настройка файлов конфигурации

И так изображения готовы, но ваш проект пока не знает пути к ним и как их отобразить. Вам нужно будет добавить/изменить несколько файлов:

  • build.gradle — здесь необходимо включить поддержку векторных файлов, просто добавьте эти две строки в конфигурацию и зависимости:
android defaultConfig vectorDrawables.useSupportLibrary = true 
>
>

dependencies implementation("com.android.support:appcompat-v7:23.2.0")
>
  • в папку с ресурсами добавьте папку “mipmap-anydpi-v26”, т.е. как видно из названия это ассеты для любого DPI в версиях ОС выше 26. В нем будут два файла: ic_launcher_round.xml и ic_launcher.xml в которых необходимо описать что использовать как фон а что как передний план. В моем случае это цвет для фона и векторная графика для переднего плана.
  • Ну и на конец то что мы описали в предыдущем пункте нужно добавить в папку drawable а также если вы использовали цвет в качестве фона — описать этот цвет в colors.xml.

Теперь система знает как, где и что, использовать в качестве иконки приложения в лаунчере. Запустите чистую инсталляцию и проверьте результаты своей работы. Как видите, техническая часть достаточно простая (если сравниватъ с PNG иконками).

В результате VCS должна показать вот такие изменения:

Как минимум две новые строки в файле:
./app/build.gradle

Новая папка “mipmap-anydpi-v26” с двумя файлами:
./app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
./app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

Один XML файл с изображением переднего плана:
./app/src/main/res/drawable/ic_launcher_foreground.xml

И либо описание цвета в качестве фона:
./app/src/main/res/values/colors.xml
либо изображение:
./app/src/main/res/drawable/ic_launcher_background.xml (в данной конфигурации отсутствует).

В ссылке ниже вы найдете все необходимые файлы из примера показанного в видео. Можете использовать их как пример для своего приложения. Спасибо за внимание!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *