Заставляя квадратный значок приложения
Я установлю квадратную иконку для моего 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
Устаревшие значки могут быть созданы следующим образом: Создать иконку унаследованного средства запуска