Uyarlanabilir simgeler

Uyarlanabilir simgeler başlığı

Uyarlanabilir simge veya AdaptiveIconDrawable, cihaz özelliklerine ve kullanıcı temasına bağlı olarak farklı şekillerde görüntülenebilir. Uyarlanabilir simgeler öncelikli olarak ana ekrandaki başlatıcı tarafından kullanılsa da kısayollarda, Ayarlar uygulamasında, paylaşım iletişim kutularında ve genel bakış ekranında da kullanılabilir. Uyarlanabilir simgeler tüm Android form faktörlerinde kullanılır.

Bit eşlem resimlerin aksine, uyarlanabilir simgeler farklı kullanım alanlarına uyum sağlayabilir:

  • Farklı şekiller: Uyarlanabilir simgeler, farklı cihaz modellerinde çeşitli şekillerde görüntülenebilir. Örneğin, bir OEM cihazda dairesel bir şekil, başka bir cihazda ise kare ile daire arasında bir şekil gösterebilir. Her cihaz OEM'si, sistemin tüm uyarlanabilir simgeleri aynı şekille oluşturmak için kullandığı bir maske sağlamalıdır.

    Aynı örnek Android simgesinin tekrarlanan animasyonunu gösteren bir GIF. Kullanılan maskeye bağlı olarak farklı şekiller gösteriliyor: önce bir daire, ardından iki farklı türde süper elips.
    Şekil 1. Uyarlanabilir simgeler, cihazdan cihaza değişen çeşitli maskeleri destekler.
  • Görsel efektler: Uyarlanabilir simgeler birçok farklı ilgi çekici görsel efekti destekler. Bu efektler, kullanıcılar simgeyi ana ekrana koyduğunda veya taşıdığında gösterilir.

    Kullanıcı yanıtını göstermek için animasyonlu iki daire şeklindeki Android örnek simgesini gösteren bir GIF. İlk simgede Android logosu, dairenin içinde önce sola, sonra sağa, ardından yukarı ve aşağı sallanıyor. İkinci simge genişler ve tekrar daralır.
    Şekil 2. Uyarlanabilir simge tarafından görüntülenen görsel efekt örnekleri.
  • Kullanıcı teması: Android 13'ten (API düzeyi 33) itibaren kullanıcılar uyarlanabilir simgelerini temaya uygun hale getirebilirler. Bir kullanıcı, sistem ayarlarından temalı uygulama simgelerini etkinleştirmişse ve başlatıcı da bu özelliği destekliyorsa sistem, uyarlanabilir simgesinde monochrome katmanı olan uygulamaların simgelerinin renk tonunu belirlemek için kullanıcının seçtiği duvar kağıdı ve temanın rengini kullanır. Android 16 QPR 2'den itibaren Android, kendi uygulama simgelerini sağlamayan uygulamaların simgelerini otomatik olarak temalandırır.

    Her biri farklı tonlarda farklı bir kullanıcı teması gösteren üç Android cihaz örneği: İlkinde koyu tonlu bir duvar kağıdı, ikincisinde altın tonlu bir duvar kağıdı, üçüncüsünde ise mavimsi tonlara sahip açık gri bir duvar kağıdı gösteriliyor. Her örnekte simgeler, duvar kağıdının rengini alarak mükemmel bir uyum sağlıyor.
    Şekil 3. Kullanıcının duvar kağıdı ve temalarından devralınan uyarlanabilir simgeler.

    Aşağıdaki senaryolarda ana ekranda temalı uygulama simgesi yerine uyarlanabilir veya standart uygulama simgesi gösterilir:

    • Kullanıcı, temalı uygulama simgelerini etkinleştirmezse
    • Uygulamanız tek renkli uygulama simgesi sağlamıyorsa ve kullanıcının cihazı Android 16 QPR 2'den önceki bir Android sürümünü çalıştırıyorsa.
    • Başlatıcı, temalı uygulama simgelerini desteklemiyorsa

Uyarlanabilir simgeler tasarlama

Uyarlanabilir simgenizin farklı şekilleri, görsel efektleri ve kullanıcı temalarını desteklemesi için tasarım aşağıdaki şartlara uymalıdır:

  • Simgenin renkli sürümü için biri ön plan, diğeri arka plan olmak üzere iki katman sağlamanız gerekir. Katmanlar vektör veya bit eşlem olabilir ancak vektörler tercih edilir.

    Ön plan katmanı (solda) ve arka plan katmanı (sağda) örneği. Ön planda, 66x66 güvenli bölgenin ortasında yer alan örnek bir Android logosunun 16 kenarlı simgesi gösteriliyor. Güvenli bölge, 108x108 kapsayıcının ortasındadır. Arka planda, güvenli bölge ve kapsayıcı için aynı ölçülen boyutlar gösterilir ancak yalnızca mavi bir arka plan vardır ve logo yoktur.
    Şekil 4. Ön plan ve arka plan katmanları kullanılarak tanımlanan uyarlanabilir simgeler. Resimde gösterilen 66x66 güvenli bölge, OEM tarafından tanımlanan şekilli maske ile hiçbir zaman kırpılmayan alandır.
    Önceki şekilde gösterilen simgenin dairesel bir maske üzerine yerleştirildiği örnek.
    Şekil 5. Dairesel maske uygulandığında ön plan ve arka plan katmanlarının birlikte nasıl göründüğünü gösteren bir örnek.
  • Uygulama simgeleri için kullanıcı temalarını desteklemek istiyorsanız simgenin tek renkli hali için tek bir katman sağlayın.

    Tek renkli simge katmanı (solda) ve renk önizlemeleri (sağda) örneği. Tek renkli katmanda, 66x66 boyutundaki güvenli bölgenin ortasında yer alan örnek bir Android logosunun 16 kenarlı simgesi gösteriliyor. Güvenli bölge, 108x108'lik bir kapsayıcının içinde ortalanır. Renk önizlemeleri, bu katmanın farklı renkli kullanıcı temalarına (turuncu, pembe, sarı ve yeşil) uygulandığında nasıl görüneceğini gösterir.
    Şekil 6. Tek renkli simge katmanı (solda) ve renk önizleme örnekleri (sağda).
  • Tüm katmanları 108x108 dp boyutuna getirin.

  • Kenarları net olan simgeler kullanın. Katmanlarda, simgenin dış çizgisi etrafında maske veya arka plan gölgesi olmamalıdır.

  • En az 48x48 dp boyutunda bir logo kullanın. Simgenin içteki 66x66 dp'lik kısmı maskelenmiş görüntü alanında göründüğü için 66x66 dp'yi aşmamalıdır.

Katmanların dört tarafının her birindeki dış 18 dp, maskeleme ve paralaks veya titreşim gibi görsel efektler oluşturmak için ayrılmıştır.

Android Studio'yu kullanarak uyarlanabilir simgeler oluşturmayı öğrenmek için Android uygulaması simgesi Figma şablonu veya başlatıcı simgeleri oluşturmayla ilgili Android Studio belgelerine bakın. Ayrıca Uyarlanabilir Simgeleri Tasarlama başlıklı blog yayınını da okuyun.

Uyarlanabilir simgenizi uygulamanıza ekleme

Uyarlanabilir simgeler, uyarlanabilir olmayan simgeler gibi uygulama manifestindeki android:icon özelliği kullanılarak belirtilir.

İsteğe bağlı bir özellik olan android:roundIcon, uygulamaları dairesel simgelerle temsil eden başlatıcılar tarafından kullanılır ve uygulamanızın simgesinde tasarımının temel bir parçası olarak dairesel bir arka plan varsa yararlı olabilir. Bu tür başlatıcıların android:roundIcon öğesine dairesel bir maske uygulayarak uygulama simgeleri oluşturması gerekir. Bu garanti, uygulama simgenizin görünümünü optimize etmenize olanak tanır. Örneğin, logoyu biraz büyütebilir ve kırpıldığında dairesel arka planın tam taşma payı olmasını sağlayabilirsiniz.

Aşağıdaki kod snippet'inde bu özelliklerin her ikisi de gösterilmektedir ancak çoğu uygulama yalnızca android:icon özelliğini belirtir:

<application
    ...
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"
    ...>
</application>

Ardından, uyarlanabilir simgenizi res/mipmap-anydpi-v26/ic_launcher.xml dizinine kaydedin. Simgelerinizin ön plan, arka plan ve tek renkli katman kaynaklarını tanımlamak için <adaptive-icon> öğesini kullanın. <foreground>, <background> ve <monochrome> iç öğeleri hem vektör hem de bit eşlem resimleri destekler.

Aşağıdaki örnekte, <adaptive-icon> içinde <foreground>, <background> ve <monochrome> öğelerinin nasıl tanımlanacağı gösterilmektedir:

<?xml version="1.0" encoding="utf-8"?>
...
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
    <monochrome android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
...

Ön plan ve tek renkli katmanlar aynı çizilebilir öğeyi kullanıyor. Ancak gerekirse her katman için ayrı çizilebilir öğeler oluşturabilirsiniz.

Çizilebilir öğeleri <foreground>, <background> ve <monochrome> öğelerine satır içi olarak ekleyerek de öğe olarak tanımlayabilirsiniz. Aşağıdaki snippet'te, ön plan çizilebilir öğesiyle bunu yapmanın bir örneği gösterilmektedir.

<?xml version="1.0" encoding="utf-8"?>
...
<foreground>
   <inset
       android:insetBottom="18dp"
       android:insetLeft="18dp"
       android:insetRight="18dp"
       android:insetTop="18dp">
       <shape android:shape="oval">
           <solid android:color="#0000FF" />
       </shape>
   </inset>
</foreground>
...

Kısayollarınıza normal uyarlanabilir simgelerle aynı maskeyi ve görsel efekti uygulamak istiyorsanız aşağıdaki tekniklerden birini kullanın:

  • Statik kısayollar için <adaptive-icon> öğesini kullanın.
  • Dinamik kısayollar için bunları oluştururken createWithAdaptiveBitmap() yöntemini çağırın.

Uyarlanabilir simgeleri uygulama hakkında daha fazla bilgi için Uyarlanabilir Simgeleri Uygulama başlıklı makaleyi inceleyin. Kısayollar hakkında daha fazla bilgi için Uygulama kısayollarına genel bakış başlıklı makaleyi inceleyin.

Ek kaynaklar

Uyarlanabilir simgeleri tasarlama ve uygulama hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın.