Як я можу орієнтуватися на 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 можуть пояснити це краще.