Начиная с API 26, Android использует так называемые адаптивные значки.
При таргетинге на API 25 и ниже значок моего приложения выглядит нормально:
Но при нацеливании на API 26+ он отображается в виде белого кружка примерно так:
- Как я могу настроить таргетинг на API 26+, используя адаптивные иконки Android?
- Что если я хочу нацеливаться на API 26+, но не использовать адаптивные иконки Android?
Ответы:
Как я могу настроить таргетинг на API 26+, используя адаптивные иконки Android?
В настройках вашего плеера в Android на Unity 2018 или более поздней версии в разделе «Иконка» есть место для настройки ваших значков. Вы можете установить значки Legacy, Round и Adaptive. Значки Legacy и Round предназначены для API 25 и ниже. Просто добавьте значок, который вы хотите, альфа и все, и все готово. Адаптивные иконки для API 26+ немного сложнее.
Адаптивные иконки состоят из двух частей. Фон и передний план .
Фон
Фон - это место, куда вы помещаете фон для своей иконки. Это изображение не должно иметь альфа. Он должен быть непрерывным, поскольку у вас нет контроля над тем, какие части фона отображаются.
Android определяет обрезку и перевод фонового изображения. В приведенном ниже примере фон представляет собой синее изображение с белой сеткой на нем. Обратите внимание, что фон выглядит хорошо, несмотря на то, что квадрат обрезается в круг, а фон перемещается.
передний план
Передний план будет вашей настоящей иконой. Альфа требуется для этого изображения. Внешняя 1/6 вашего изображения может быть скрыта за кадрированием. Это означает, что изображение должно быть уменьшено до 66,67% или первоначального размера, в то время как холст остается в полном размере. В приведенном ниже примере изображение имеет размер 432x432 пикселей; однако левая, правая, верхняя и нижняя части изображения имеют прозрачность 72 пикселя.
Конечный результат масштабирования изображения на 66,67% полностью заполнит спрайт внутри круга, в то время как фон отображается за прозрачными пикселями.
На различных устройствах значок можно перемещать за пределы области обрезки, если не было буфера. Например, на синем значке выше, передний план составляет примерно 35% от исходного размера. Если бы он составлял 66,67% от исходного размера, то лицо Android могло бы исчезнуть из поля зрения.
пример
Так что, если это был наш фон и передний план, так что содержимое нашего переднего плана составляет 2/3 размера нашего фона:
Тогда это распакованная версия нашей иконки:
Но то, что мы действительно могли видеть на устройстве (при условии, что Android не делает ничего «адаптивного» в данный момент), это:
Что если я хочу нацеливаться на API 26+, но не использовать адаптивные иконки Android?
Тебе нельзя.
Я до сих пор не понимаю.
Возможно, Android или Unity могут объяснить это лучше.
источник