Android için bir UE4 projesine Uyarlanabilir Simgeler Ekleme

Android için bir UE4 projesine Uyarlanabilir Simgeler Ekleme

Android 8.0 Oreo’nun (API 26) piyasaya sürülmesiyle, farklı cihaz modellerinde çeşitli farklı simge şekilleri gösterebilen uyarlanabilir simgeler için destek eklendi. Daha fazla cihaz bu güncellemeleri kullandıkça, ek simge şekillerini varsayılan olarak görme olasılığı giderek artar. Sonuç olarak, mevcut simgeler yanlış görünebilir. Simgelerinizin düzgün görüntülenmesini sağlamak için projenize uyarlanabilir simgeler eklemeniz gerekir. Neyse ki, bu çalışmak için hedef SDK seviyesini değiştirmenizi gerektirmeyen oldukça basit bir işlemdir.

Simge Türleri

Aşağıdaki resimde, kullanıcının seçebileceği farklı simge şekilleriyle birlikte kullanıldığında uyarlanabilir bir simgenin nasıl görüneceğini görebilirsiniz.

Uyarlanabilir Simge Oluşturma

Uyarlanabilir simgeler için bir bitmap simgesini kullanmak basittir. Tasarımınızın tasarımını içeren, içten 72×72’lik bir 108×108 PNG yaparak başlayın. Bu dosyayı kaydettiğinizde onu icon_bg.png olarak adlandırdığınızdan emin olun.

Uyarlanabilir Simge Konumu

Uyarlanabilir simge oluşturulduktan sonra, UE4 proje klasörünüzde aşağıdaki konuma yerleştirmeniz gerekir: Build/Android/res/ drawable

Bunu yapmak, projeniz Android cihazlar için oluşturulduğunda bu yeni simgenin eklenmesini sağlar.

Uyarlanabilir Simgenizi Kaydetme

Şimdi yeni uyarlanabilir simge resminize referans vermek için bir simge kaynak XML’ine ihtiyacınız var. İlk önce, Build/Android/res’te drawable-anydpi-v26 adlı yeni bir klasör oluşturun. İcon.xml adlı bu klasörün içine yeni bir XML dosyası oluşturun ve ardından aşağıdakileri dosya içeriği olarak ekleyin:

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

Daha karmaşık bir simge yapabilirsiniz, ancak bu en iyi uyumlulukla baş etmenin en hızlı yoludur. Ön plan görüntüleri ve vektör şekillerini kullanarak daha fazla ayrıntı için uyarlamalı simgeler kurallarına bakın.

Yuvarlak Bir Simge Kullanma

Daire şekli için kullanılacak yuvarlak bir simge için destek sağlamak isteyebilirsiniz bazı yeni Android cihazlarda varsayılan. Bu, Unreal Plugin Language ile yapılması kolay olan AndroidManifest.xml dosyasının eklenmesini gerektirir, ancak bunun bir kod projesinin kullanılması gerektiğini unutmayın. Not: Herhangi bir Blueprint projesini boş bir sınıf ekleyerek bir kod projesine dönüştürebilirsiniz.

İlk olarak, icon_round.png adında başka bir 108×108 PNG yapın ve UE4 proje klasörünüze kopyalayın: Build/Android/res/drawable. Şimdi AndroidManifest.xml dosyasında belirtmek için başka bir simge kaynak XML’ine ihtiyacınız olacak. Projenizin Build/Android/res/drawable-any-dpi-v26 klasörünün içinde icon_round.xml adlı yeni bir XML dosyası oluşturun ve ardından aşağıdaki dosya içeriğini ekleyin:

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

Aşağıdaki UPL dosyası AddRoundIcon_UPL.xml olarak adlandırılmalı ve projenizin Build.cs dosyasının bulunduğu modülün Kaynak dizinine yerleştirilmelidir. Bu normalde, yukarı yöndeki dosya adınızla aynı olacaktır, bu nedenle projeniz Match3.uproject olarak adlandırılmışsa, bunu Source/Match3 içinde bulabilirsiniz . İşte bu dosyanın içeriği:

<?xml version="1.0" encoding="utf-8"?>
<root xmlns:android="http://schemas.android.com/apk/res/android">
	<!-- init section is always evaluated once per architecture -->
	<init>
	</init>

	<androidManifestUpdates>
		<!-- add roundIcon attribute to application -->
		<addAttribute tag=”application” name=”android:roundIcon” value=”@drawable/icon_round”/>
	</androidManifestUpdates>
</root>

Son olarak, projenizin Build.cs dosyasına önceki örnekte Source/Match3/Match3.Build.cs ekleyerek bu UPL dosyasını kaydetmemiz gerekir . Aşağıdakileri bu dosyaya ekleyin:

if (Target.Platform == UnrealTargetPlatform.Android)
{
	// Add UPL to add configrules.txt to our APK
	string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
	AdditionalPropertiesForReceipt.Add("AndroidPlugin", System.IO.Path.Combine(PluginPath, "AddRoundIcon_UPL.xml"));
}

Bu işlem tamamlandığında, artık standart paketleme iş akışını kullanarak UE4 projenizi Android için oluşturabilirsiniz. Ardından, projeniz bir aygıta dağıtıldığında, yeni simgelerinizi göreceksiniz.

Yukarıdakiler projenizin uyarlanabilir simgeleri kullanabilmesini sağlayacak şekilde olsa da, yuvarlak bir simge kullanıyorsanız Android 7.1 aygıtları için ek bir adıma ihtiyacınız olacak. Projenizin simgesinin Android’in tüm sürümlerinde görüntülendiğinden emin olmak için bu adımı da eklemelisiniz.

Öncelikle, projenizin Build\Android\res klasörünü açmanız ve drawable-anydpi-v25 adlı yeni bir klasör oluşturmanız gerekir. Ardından, yeni oluşturulan drawable-anydpi-v25 klasörünü açın ve icon_round.xml adında yeni bir dosya oluşturun.. Ardından icon_round.xml dosyasını açın ve aşağıdakileri ekleyin:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <bitmap android:src="@drawable/icon_bg" />
  </item>
</layer-list>

Bu işlem tamamlandıktan sonra icon_round.xml dosyasını kaydettiğinizden emin olun ve ardından projenizi serbest bırakmak için yeniden oluşturun. Tamamlandığında projeniz şimdi kullanıldığı herhangi bir Android cihazda doğru simgeleri gösterecektir.

Tavsiye yazı: Java dostu Kotlin kodu nasıl yazılır?

Yorumlar / Düşünceler