Adaptive icons - Uyarlanır simgelerin kullanılışı
Delphi Android uygulamalarının cihazlardaki simgeleri kare içinde görünüyorsa uyarlanır simge kullanmanız gerekmektedir.
https://developer.android.com/develop/ui...n_adaptive
Düzeltmek için adımlar:
1. AndroidManifest.template.xml
<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="36" />
olarak güncelleyin.
2. AndroidManifest.template.xml
android:icon="%icon%"
Değişiklikten sonra
android:icon="@mipmap/ic_launcher"
3. Proje dizininde "ic_launcher.xml" dosya adı ile bir dosya oluşturun, vb. ve içeriği aşağıdaki şekilde yazın.
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@android:color/transparent" />
<foreground android:drawable="@drawable/ic_launcher" />
</adaptive-icon>
4. Project > Deployment sayfasında Daha önceden mevcut bulunan Local Path: Android64\Release\ ve Local Name'i aynı ic_launcher.xml'in seçilme tikini kaldırın.
Add Files ile Proje dizinindeki "
ic_launcher.xml" dosyasını ekleyin. Ardından Remote Path sütununu "
res\mipmap-anydpi-v26\" olarak değiştirin.
5. Projeyi çalıştırın. Açılış (splash) ekranı ve uygulama simgesi bir bakıma maskeli olarak değişecektir.
Ancak bu simgeler 108dp boyutunda değildir ve görüntü güvenli alanı tamamen gözardı ettikleri için kesilir.
Delphi IDE'de, yalnızca bir simge için belirli bir boyutta bir görüntü belirtebilirsiniz (farklı bir boyut bir hata ile sonuçlanır).
Bu nedenle, uygun bir Adaptiveicon yapmak için, mipmap veya Path ön plan etiketlerini belirtmeniz gerekir.
Mipmap, her çözünürlük için en iyi görüntüyü hazırlama yöntemidir.
6. "ic_launcher.xml" içeriğindeki
<foreground android:drawable="@drawable/ic_launcher" />
satırını aşağıdaki gibi değiştirin:
<foreground android:drawable="@mipmap/ic_foreground" />

7. Adaptif simgeler m, h, xh, xxh ve xxxh'in her çözünürlüğü için piksel olarak hazırlanan resimleri ifade eder.
Güvenli bölge maskelerden etkilenmeyen merkez kısımdır. 66px için dışındaki riskli bölge dahil simgenin dış boyutunun 108px olması gerekir.
Mevcut en yüksek çözünürlüklü logo veya simgenizi yeniden ölçeklendirerek 5 tane yeni png dosyaları oluşturun ve isimlerini bu şekilde kaydedin:
108x108 icon_m.png
162x162 icon_h.png
216x216 icon_xh.png
324x324 icon_xxh.png
432x432 icon_xxxh.png
(108x108 olarak resim boyutunu değiştirdiğinizde içindeki simgenin 66x66'dan büyük olmadığına dikkat edin. Büyükse buna göre ilk resminizi düzeltip sonra bu dosyaları kaydedin. Mesela 512x512 boyutundaki logo png resmin içindeki simge 400 boyunda ise, 66 / 162 = 0,61 (%61) oranına göre 400 / 0,61 = 655 olmalı (en az). Fakat bu ölçüde simge görünür kısmın tamamın kaplar. %61 yerine %50 daha iyi görünmekte. O halde 400 / 0,50 = 800. Irfanview kullanıyorsanız Image > Set canvas size > Method 2: Set total canvas dimensions in pixels Width: 800 Height: 800 ve Center ile ana resmi düzeltip sonra tüm png'leri yeniden boyutlandırıp bundan üretebilirsiniz.)
"mipmap" adında bir dizin açıp tümünü içine koyun.
Tümünü Project > Deployment ile ekleyin. Remote Name altındaki adları "
ic_foreground.png" olmalıdır. Remote Path'lerini bu şekilde düzenleyin:
dpi Büyütme Gerçek boy Güv. bölge Local Name Remote Path Remote Name
mdpi 1 108x108 66x66 icon_m.png res\mipmap-mdpi\ ic_foreground.png
hdpi 1.5 162x162 99x99 icon_h.png res\mipmap-hdpi\ ic_foreground.png
Xhdpi 2 216x216 132x132 icon_xh.png res\mipmap-xhdpi\ ic_foreground.png
xxhdpi 3 324x324 198x198 icon_xxh.png res\mipmap-xxhdpi\ ic_foreground.png
xxxhdpi 4 432x432 264x264 icon_xxxh.png res\mipmap-xxxhdpi\ ic_foreground.png
Çalıştırdığınızda uygulama simgesinin en iyi görüntüsünü size verecektir.
Kaynak: [Delphi] Supports Adaptive Icon @Pik(Jun Hoskawa)
https://qiita.com/pik/items/64c6600a1a356bb2c556
Delphi 12.3 Athens'ten itibaren Uyarlanır simgeler desteği verildiğine dair Embarcadero sitesinde bilgiler var. Bu durumda Delphi 12.2 ve öncesi için destek verilmiş oldu.
Açılış (splash) ekranı için Armandroid kullanıyorsanız, yukarıdaki işlemlerden önce çalıştırınız.