Android Splash Screen Yapımı

Merhaba arkadaşlar,
Bu örneğimizde android uygulamamızın başlangıç ekranını güzelleştirmek için bir açılış ekranı(SplashScreen) ekleyeceğiz. SplashScreen aslında iOS tarafında standart olarak geliyor, fakat Android için ne yazık ki aynı şey söz konusu değil. Zaten siz de şu zamana kadar kullandığınız çoğu android uygulamada splash screen olmadığını farketmişsinizdir. Lafı daha fazla uzatmadan yapılışına geçelim. 😊

Bunu yapmanın birkaç yolu var, ben en çok kullanılan yöntemi tercih edeceğim. Mantığımız şu şekilde; Uygulama açıldığında MainActivity class’ından değil de bizim istediğimiz ve splash screen’imizin olduğu class’tan uygulamayı başlatacağız, belli bir süre(splash screen’in görünmesini istediğimiz süre) o ekranda kalacağız daha sonra MainActivity’ye yönlendireceğiz.

Uygulamaya geçelim. Yeni bir proje dosyası açıyoruz, Nuget’lardan Xamarin.Forms’u güncel değilse güncelliyoruz. Burada dikkat etmemiz gereken bir diğer unsur da “Xamarin.Android.Support.v7.AppCompat” ve “Xamarin.Android.Support.v4” pluginlerinin yüklü olmasıdır, değilse onları da yüklüyoruz.

Daha sonra, yeni ekleyeceğimiz SplashScreen class’ı için style tanımlamamız gerekiyor, bunun için Android projesi altındaki values klasörünün içinden style.xml dosyasını açıyoruz ve aşağıdaki kodları ekliyoruz.

<style name="Theme.Splash" parent="android:Theme">
<item name="android:windowBackground">@drawable/Splash</item>
<item name="android:windowNoTitle">true</item>
</style>

Şimdi sıra geldi SplashScreen class’ımızı oluşturmaya, projeye sağ tıklayıp SplashActivity adında yeni bir class oluşturuyoruz.

Class’ımızı tıpkı MainActivity class’ına benzetiyoruz aşağıdaki kodları ekliyoruz. Buradaki can alıcı noktaların altını çizdim. Az önce style.xml dosyasına eklediğimiz Splash temasını buradan çağırıyoruz ve MainLauncher=true özelliğini ekliyoruz. (MainLauncher propoerty’si uygulamanın başlangıç dosyasını seçmemizi sağlıyor, boolean değer alıyor, true dediğimiz dosyadan, yani “SplashActivity” dosyasından uygulamayı başlatmak için bu özelliği kullanıyoruz.). Ve tabii, başlangıç class’ımız MainActivity olmadığı için artık Label ve Icon özelliklerini de burada tanımlamamız gerekiyor. OnCreate metodunun içinde gördüğünüz yorum satırı uygulamayı istediğimiz süre bekletmemizi sağlıyor, biz de bu sürede splashscreen’imizi görüyoruz. Default olarak 3 saniye gibi bi süre bekliyor, Buaraya yazacağımız milisaniye cinsinden değer ise 3 saniyenin arkasına ekleniyor, örneğin bu yorum satırı çalışıyor olsaydı splash screen’imiz ekranda 4.5 saniye kalacaktı. Daha sonra ise StartActivity ile uygulamayı “MainActivity” dosyasına yönlendiriyoruz ve uygulamamız normal bir şekilde başlamış oluyor.

SplashActivity class’ında işimiz bitti. Sıra geldi MainActivity dosyasına, burda ise SplashActivity dosyasında kullandığımız özellikleri (MainLauncher,Label,Icon) siliyoruz.

Şimdi sıra geldi görsellerimizi hazırlamaya, farklı ekran boyutları için görselimizi 3 adet (XXLarge,XLarge,Heigh çözünürlüklerde kaydediyoruz. Ben XX için 1080×1920, X için 1280×768 ve H için 800×480 boyutlarını kullandım.

Ve artık tüm işlemlerimiz tamamlandı. Artık uygulamamızı çalıştırıp nasıl göründüğüne bakabiliriz.

Kaynak kodlara buradan ulaşabilirsiniz.

Xamarin Türkiye

3 Yorum

You can post comments in this post.


  • Tam aradığım yazı. Elinize sağlık.

    Ömer Sezer 2 hafta ago Reply


  • Default olarak 3 saniye beklemesini değiştirebilir miyiz ?

    Ömer Sezer 2 hafta ago Reply


    • Uygulamanın açılma süresi belki 1sn belki daha fazla olabilir. Zaten splashscreen bu beklemeler için var. Bu tamamen senin uygulamanın açılışta neler yaptığıyla alakalı.

      Yiğit ÖZAKSÜT 2 hafta ago Reply


Yorum Gönder