Jak korzystać z adaptacyjnych ikon Androida w Unity?

14

Począwszy od API 26, Android używa czegoś, co nazywa się ikonami adaptacyjnymi.

Podczas kierowania do interfejsu API 25 i niższych ikona mojej aplikacji wygląda dobrze:

wprowadź opis zdjęcia tutaj

Jednak podczas kierowania do interfejsu API 26+ pojawia się on w białym kółku:

wprowadź opis zdjęcia tutaj

  • Jak mogę kierować API 26+, korzystając z adaptacyjnych ikon Androida?
  • Co jeśli chcę kierować na API 26+, ale nie używać adaptacyjnych ikon Androida?
Evorlor
źródło
Powiedzmy, zauważyłem, że dodałeś nagrodę za to pytanie. Czy masz jakieś dodatkowe informacje, które możesz dodać inną odpowiedź, poza wyczerpującym wyjaśnieniem poniżej?
DMGregory
@DMGregory Nope. Próbuję tylko zwiększyć ekspozycję. Nigdy nie znalazłem dobrego wyjaśnienia na temat implementacji ikon adaptacyjnych przez Unity, więc staram się oszczędzać czas innym. Biorąc to pod uwagę, jeśli ty lub ktokolwiek inny posiada dodatkowe informacje, byłoby to bardzo mile widziane.
Evorlor,

Odpowiedzi:

24

Jak mogę kierować API 26+, korzystając z adaptacyjnych ikon Androida?

W ustawieniach odtwarzacza w systemie Android na Unity 2018 lub nowszym w sekcji ikon znajduje się miejsce do ustawiania ikon. Możesz ustawić starsze, okrągłe i adaptacyjne ikony. Ikony Dziedzictwo i Runda dotyczą interfejsu API 25 i niższych. Po prostu dodaj ikonę, którą chcesz, alfę i wszystko, i gotowe. Ikony adaptacyjne dla API 26+ są nieco bardziej skomplikowane.

wprowadź opis zdjęcia tutaj

Adaptacyjne ikony składają się z dwóch części. Tła i pierwszego planu .

tło

Tło to miejsce, w którym umieszczasz tło swojej ikony. Ten obraz nie może mieć żadnej litery alfa. Powinien być ciągły, ponieważ nie masz kontroli nad tym, które części tła są wyświetlane.

Android określa kadrowanie i tłumaczenie obrazu tła. W poniższym przykładzie tło to niebieski obraz z białą siatką. Zwróć uwagę, jak tło wygląda dobrze, mimo że kwadrat jest przycięty do koła, a tło jest przesuwane.

wprowadź opis zdjęcia tutaj

Pierwszoplanowy

Pierwszy plan będzie twoją rzeczywistą ikoną. Dla tego obrazu wymagana jest alfa. Zewnętrzna 1/6 twojego obrazu może być ukryta za kadrowaniem. Oznacza to, że obraz musi zostać zmniejszony do 66,67% lub rozmiaru oryginalnego, a płótno pozostaje w pełnym rozmiarze. W poniższym przykładzie obraz ma 432 x 432 pikseli; jednak lewa, prawa, górna i dolna część obrazu mają przezroczystość 72 pikseli.

wprowadź opis zdjęcia tutaj

Końcowy wynik 66,67% skalowania obrazu doskonale wypełni duszka w okręgu, a tło widać za przezroczystymi pikselami.

Na różnych urządzeniach ikonę można przesunąć poza przycięty obszar, biorąc pod uwagę brak bufora. Na przykład na niebieskiej ikonie powyżej pierwszy plan ma około 35% oryginalnego rozmiaru. Gdyby było 66,67% oryginalnego rozmiaru, twarz Androida zniknie z pola widzenia.

Przykład

Więc jeśli to było nasze tło i pierwszy plan, tak że zawartość naszego pierwszego planu jest 2/3 wielkości naszego tła:

wprowadź opis zdjęcia tutajwprowadź opis zdjęcia tutaj

To jest nieopracowana wersja naszej ikony:

wprowadź opis zdjęcia tutaj

Ale to, co moglibyśmy zobaczyć na urządzeniu (zakładając, że Android nie robi nic „adaptacyjnego” w tej chwili), to:

wprowadź opis zdjęcia tutaj


Co jeśli chcę kierować na API 26+, ale nie używać adaptacyjnych ikon Androida?

Nie możesz.


Nadal nie rozumiem.

Być może Android lub Unity mogą to lepiej wyjaśnić.

Evorlor
źródło
Jak teraz wygląda Twoja ikona? Czy musiałeś dodać tło?
Paiman Roointan