Заставляя квадратный значок приложения

Я установлю квадратную иконку для моего Android-приложения, созданного с помощью Android Studio.

Я установил свой собственный значок приложения с помощью File -> New -> Vector Asset.
Это создает нормальный и круглый значок приложения.

Если я скопирую и переименую (ic_launcher_round.png) значок квадратичного приложения и установлю его, например, на OnePlus Launcher, я также получу круглый значок.

Мой логотип квадратный, поэтому смотреть на него очень некрасиво.
Как я могу заставить иконку квадратичного приложения? Это возможно?

Если бы я установить только android:icon="@mipmap/ic_launcher" вместо этого и android:roundIcon="@mipmap/ic_launcher_round" в моем Manifest.xml ничего не меняется.

2 ответа

Решение

Значок вашего приложения будет округлен, когда средство запуска решит сделать его округленным.

"Панель запуска" - это просто другое приложение, подобное вашему, но это не ваше приложение - оно полностью отделено от него, и вы не можете нормально влиять на любой процесс, отделенный от процесса вашего приложения, ОС запретит это. Только иногда вы сможете сделать что-то подобное, используя какую-либо форму межпроцессного взаимодействия ( IPC), предлагаемую вашей ОС, при условии, конечно, что процесс, с которым вы хотите общаться, также "желает общаться" с вами [использует та же форма IPC, чтобы позволить другому процессу изменить некоторые из его поведения].

Кроме того, цель мастера Android Studio, который вы использовали, заключалась в том, чтобы помочь вам создавать готовые для рисования файлы, и это было просто для того, чтобы сэкономить ваше время на создание этих рисунков самостоятельно в каком-либо графическом редакторе.

Любой нарисованный набор внутри XML-файла манифеста для того, чтобы быть круглым значком вашего приложения, будет округлен в конце, и это не имеет значения, как это на самом деле выглядит. Я не думаю, что вы можете ожидать, что какое-либо из существующих в настоящее время основных приложений запуска отображает значки некоторых приложений круглыми, а некоторые квадратными. Это значительно повредит его пользовательскому опыту.

Боюсь, вам придется адаптироваться к этой ситуации, сделать логотип квадратного приложения немного меньше и оставить вокруг него пустое место, чтобы приложение запуска конечного пользователя могло нарисовать круг вокруг этого логотипа.

Здесь вы можете найти официальные рекомендации по разработке значков для запуска приложений Android: https://material.io/guidelines/style/icons.html и здесь вы можете прочитать о самом актуальном подходе в теме иконок приложений Android: адаптивные. Любой другой тип значка может рассматриваться как "устаревший" и использоваться только в целях совместимости при настройке API ниже 26.

Редактировать: в разделе комментариев OP упоминалось о некоторых приложениях, которые в настоящее время имеют квадратные иконки в своих новейших версиях, и это оказалось на самом деле небольшим недостатком UX-дизайна его разработчиков.

В качестве примера, я скачал упомянутое OP приложения Bytecoin, и вот как это выглядит на моем телефоне Android 7.0: Красный объект отрезан

Красный объект в углу отрезан. Я думаю, мы можем предположить, что любое другое приложение в Google Play, которое отображается там с квадратным логотипом [который хорошо выглядит на страницах их магазинов, потому что Google Play позволяет использовать квадратные логотипы], будет плохо смотреться при установке на телефоны с современными версиями программ запуска, особенно api >=26.

Если ваш целевой SDK - 26, а версия устройства Android - 8, значок приложения будет круглым.

Один из способов достижения этого (Не уверен, что это правильный / лучший способ сделать это)

В AndroidManifest.xml я должен был установить

Android:targetSdkVersion= "20"

<uses-sdk android:minSdkVersion=“16" android:targetSdkVersion=“20” />

андроид:roundIcon= "@ мипмап /ic_launcher_round"

<application android:hardwareAccelerated=“true” android:icon=“@mipmap/ic_launcher” android:label=“@string/app_name” android:roundIcon=“@mipmap/ic_launcher_round” android:supportsRtl=“true”>

Убедитесь, что изображения ic_launcher_round в квадрате.

Я использовал андроид студию для создания адаптивных и устаревших иконок…

Я удалил изображения ic_launcher_round, сгенерированные студией android.

Я скопировал изображения ic_launcher (обычно квадратные значки) в ic_launcher_round.

Теперь мой ic_launcher_round - это квадратные иконки.

(ic_launcher_round.png, ic_launcher.png, icon.png) все они являются одинаковыми изображениями

После внесения этих изменений перестройте приложение. Теперь вы должны увидеть квадратный значок при установке приложения.

Начиная с Android 8.0 (Oreo)

Здесь описан новый способ создания значков приложений для Android:

В Android 8.0 (уровень API 26) представлены адаптивные значки запуска, которые могут отображать различные формы на разных моделях устройств.

При использовании адаптивных значков значки пусковой установки имеют 2 слоя: передний план и фон (см. Создание адаптивных значков в XML).

Форма (круглая, квадратная...) может варьироваться в зависимости от настроек системы / лаунчера.

До Android 8.0

Устаревшие значки могут быть созданы следующим образом: Создать иконку унаследованного средства запуска

Другие вопросы по тегам