Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
FMX Android Adaptive Icons kullanabilir miyiz?
#1
Merhaba,

Öncelikle Android Adaptive Icons nedir :
https://developer.android.com/guide/prac...n_adaptive

Delphi Firemonkey uygulamarında Android Adaptive Icons kullanabilir miyiz?

NB_Icon_Mask_Shapes_Ext_01.gifNB_Icon_Mask_Shapes_Ext_02.gif


bir kaç deneme yaptım fakat başarılı olmadı.

1-ilk olarak android studio'da foreground ve background layerlerini oluşturdum, res/mipmap klasörü otomatik olarak oluştu   
https://medium.com/@bugraburunguz/adapti...4679459e92

2-oluşan mipmap klasörünü delphi deploy bölümüne ekledim ve Remote Path ayarlarını yaptım

3-manifest dosyasında android:icon değerini android:icon="@mipmap/ic_launcher" olarak güncelledim

sonuç olumsuz, varsayılan android iconu geliyor.

Derleyici
Delphi Rio 10.3.2, SKD 25.2.5 (SDK API-Level:android:28)

Test edilen cihaz
Android 9


Android SDK 25 fakat api level 28, Android SDK Manager ile kontrol ettiğimde SDK Tools son sürümü 25.2.5 gözüküyor ve herhangi bir güncelleme yok, SDK Tool güncellemesi mi yapılmalı veya başka neler yapabiliriz? teşekkürler.
Cevapla
#2
Photo 
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.
https%3A%2F%2Fqiita-image-store.s3.ap-no...8403d27c71

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" />


https%3A%2F%2Fqiita-image-store.s3.ap-no...2c0e2e2786
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

https%3A%2F%2Fqiita-image-store.s3.ap-no...daeb27f8c3

Çalıştırdığınızda uygulama simgesinin en iyi görüntüsünü size verecektir.

https%3A%2F%2Fqiita-image-store.s3.ap-no...65269390c2

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.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Android işlem öneriliyor uyarısı! Coban 8 502 18-06-2025, Saat: 12:56
Son Yorum: RAD Coder
  Fmx Android ve IOS Custom Font Kullanımı frmman 8 487 04-06-2025, Saat: 20:57
Son Yorum: Mr.X
  Android Veriabanı hatası mkucuktepe@msn.com 1 162 10-05-2025, Saat: 23:13
Son Yorum: mcuyan
Thumbs Up Android Tam Ekran konusunda bir örnektir. mrmarman 13 1.690 16-04-2025, Saat: 06:21
Son Yorum: barissagir
  Android Kontakt, Telefon numaralarını alma.. ARM 1 314 09-03-2025, Saat: 07:00
Son Yorum: ARM



Konuyu Okuyanlar: 1 Ziyaretçi