Android Kotlin -> Splash Screen
Merhaba Arkadaşlar,
Bu dersimizde splash Screen ‘i göreceğiz. Splash Screen uygulamamız açılmadan bir kaç sn öncesinde ekranda gösterdiğimiz bir ekrandır. Amacı uygulama açılacağı sürede arka planda yapılan işlemleri kullanıcılardan gizlemek ve bu sayede uygulama yüklenirken kullanıcıya boş bir ekran yerine kendi tasarımımızı göstermektir.
Öncelikle yeni bir proje oluşturun.
mevcut package ‘ınızın yanına yeni bir activity tanımı yapmanız gerekiyor.
Sağ Tık -> New -> Activity -> Basic Activity
ile oluşturduk. Sonrasında ise Manifest dosyanızda MainActivity ile yeni oluşturduğunuz activitylerin yerini değiştirin. Bunu neden yaptık ? Sebebi intent-filter ‘lar arasında ilk açılacak ekran belirlenmiş. Burada biz MainActivity yerine ilk Splash activity açılacak diyoruz. Manifest aşağıdaki gibi olmalıdır.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="//schemas.android.com/apk/res/android"
package="com.umiitkose.test">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN">
<category android:name="android.intent.category.LAUNCHER">
</intent-filter>
</activity>
<activity android:name=".MainActivity"/>
</application>
</manifest>Sonrasında Splash Activity ‘ye bir time yazacağız. İster Thread ile ister Handler ile oluşturabilirsiniz. Ben countDownTimer metodunu kullanarak yapıyorum bu işlemi. Kod ‘u splash activity için oluşturduğunuz yere kopyalayın.
CountDownTimer ‘ın 2 metodu var. Öncelikle 2 tane parametre alır. Birisi geçiş süresi diğeri toplam süredir. onFinish aşağıdaki örnek için 3 sn ‘yi anlatır. 1500 ise onTick Metodunda çalışacak süreyi. Yani 2 işlem yapabilirsiniz onTick ‘te.
object : CountDownTimer(1500, 3000) {
override fun onFinish() {
val intent = Intent(this@SplashActivity,MainActivity:class.java)
startActivity(intent)
}
override fun onTick(p0: Long) {
Log.d("SplashActivity", p0.toString())
}
}.start()Splash Screen örneğimiz yukarıdaki gibidir.
not : Eğer SplashActivity ‘lerde hata alırsanız yeni eklediğiniz activity ismini o kısımda belirtmelisiniz.




