Android'in uyarlanabilir simgelerini kullanırken API 26+'yı nasıl hedefleyebilirim?
Unity 2018 veya daha yeni Android sürümündeki Player Ayarlarınızda, Simgenin bölümünde simgelerinizi ayarlayabileceğiniz bir yer bulunur. Eski, Yuvarlak ve Uyarlanabilir simgeleri ayarlayabilirsiniz. Eski ve Yuvarlak simgeler API 25 ve altı için geçerlidir. İstediğiniz simgeyi, alfa ve tümünü eklemeniz yeterlidir. API 26+ için uyarlanabilir simgeler biraz daha karmaşıktır.
Uyarlanabilir simgeler iki bölümden oluşur. Arka plan ve ön plan .
Arka fon
Arka Plan simgenizin arka planını koyduğunuz yerdir. Bu resim alfa içermemelidir. Arka planın hangi bölümlerinin gösterileceği üzerinde kontrole sahip olmadığınız için sürekli olmalıdır.
Android, arka plan resminin kırpılmasını ve çevirisini belirler. Aşağıdaki örnekte, arka plan üzerinde beyaz bir ızgara bulunan mavi bir görüntüdür. Kare bir daireye kırpılmasına ve arka planın hareket etmesine rağmen arka planın nasıl iyi göründüğüne dikkat edin.
ön plan
Ön plan gerçek simgeniz olacak. Bu resim için alfa gerekiyor. Resminizin 1 / 6'sı kırpmanın arkasına gizlenmiş olabilir. Bu, tuval tam boyut olarak kalırken görüntünün% 66,67'ye veya orijinal boyutuna kadar ölçeklendirilmesi gerektiği anlamına gelir. Aşağıdaki örnekte, görüntü 432x432 pikseldir; ancak görüntünün sol, sağ, üst ve alt kısımlarının her biri 72 piksel saydamlıktır.
Görüntünün% 66,67 ölçeklendirilmesinin nihai sonucu, arka planı saydam piksellerin arkasında görünürken sprite'ı daire içinde mükemmel bir şekilde dolduracaktır.
Çeşitli cihazlarda, tampon olmadığından simge kırpılan alanın dışına kaydırılabilir. Örneğin, yukarıdaki mavi simgede ön plan orijinal boyutunun yaklaşık% 35'i kadardır. Orijinal boyutun% 66,67'si olsaydı, Android yüzü görünmeyecekti.
Misal
Yani bu bizim arka planımız ve ön planımız olsaydı, ön planımızın içeriği arka planımızın 2 / 3'ü olacak şekilde:
O zaman bu simgemiz kırpılmamış versiyonu:
Ancak aslında cihazda görebildiğimiz şey (Android'in şu anda "uyarlanabilir" bir şey yapmadığını varsayarsak) şudur:
API 26+'yı hedeflemek istiyor, ancak Android'in uyarlanabilir simgelerini kullanmazsam ne olur?
Yapamazsın.
Hala anlamıyorum.
Belki Android veya Unity bunu daha iyi açıklayabilir.