Blog Single

Merhabalar bu dersimizde Android ile Uygulama Açılış Ekranı olarak da adlandırılan Splash Screen örneğine değineceğiz.

Splash Screen ne amaçla kullanılır ?

  • Uygulama açılışı sırasında karşılama ekranı göstermek amacıyla kullanılır. Genelde açılış ekranları Uygulamaya ait marka, logo veya ismin ön plana çıkarılması amacıyla, nadir olarak da uygulamanın ilk yüklenmesi ve ilk açılışında tanıtım ekranı göstermek amaçlı kullanılır.

Örneğimize başlıyoruz;

Öncelikle Android Studio çalışır durumda iken, File > New > New Project ile yeni bir uygulama oluşturuyoruz. Ben örneğimde Blank Activity tercih ettim, Activity Name aynı şekilde MainActivity olarak kalsın hiçbir şekilde değiştirmedim. Finish diyerek projemizi oluşturuyoruz ve Splash Screen hazırlamak için çalışmalarımıza başlıyoruz.

Ardından app (Application) > res (Resource) > layout kısmındayken sağ tıklayıp New > Layout resource file seçeneğine tıklıyoruz.

Halihazırda bulunan layoutlarımız

  • activity_main.xml ve content_main.xml zaten bulunuyordu.

Yeni oluşturacağımız layout'a da activity_splash ismi vererek Ok diyerek kaydettikten hemen sonra, activity_splash.xml dosyamızı res > layout kısmında görmüş oluyoruz.

Oluşan xml dosyasının Text kısmına gelerek ben RelativeLayout oluşturmuştum dosyamın Layout türünü RelativeLayout olarak görmüş oldum. Hiçbir değişiklik yapmadan, Design kısmına dönerek sürükle-bırak yöntemi ile yeni bir ImageView nesnesi oluşturdum. Text kısmına tekrar dönerek layout_align ve layout_margin değerlerini kaldırıp yerine

  • android:layout_centerHorizontal="true"
  • android:src="@drawable/splash"

değerlerini ekliyorum. android:src değeri, drawable klasöründeki splash adında .jpg yada .png uzantısındaki resim dosyamı temsil ediyor.

Ben örnek olarak, splash adındaki dosyamı saydam png formatında blogger logosu üzerinden örneklendirmek istedim, logomu ilgili dosyaya taşıdım.

Layout görünümü aşağıdaki görsel olarak oluştu.

Android Splash Screen Example

Tabii ki işlemimiz bunlarla sınırlı kalmıyor.

Sırada Splash Screen'i çağıracağımız Activity dosyasını oluşturmak var.

Yeni bir Java Class oluşturuyoruz, ismi SplashActivity olsun.

Oluşturduğumuz Class dosyasının içeriğini yazmadan önce bir planlama yapmamız mantıklı olur.

  • Activity dosyamız tam ekran gözüksün ve Android Title Bar kısmı gözükmesin.
  • Farklı ekran boyutlarında da dikeyde orantılı durabilmesi için yatay oranında kalibrasyonu iptal etmek istiyorum.
  • Açılış Ekranı Activity dosyası, sadece 5 saniye kullanıcıya gözüksün ve Activity penceresi kapanıp, MainActivity görüntülensin.

package com.serifgungor.splashscreen_example;

/**
 * Created by Şerif on 23.12.2015.
 */
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;

public class SplashActivity extends Activity {

    private static String TAG = SplashActivity.class.getName();
    private static long SLEEP_TIME = 5; // Bekletilecek saniye

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        this.requestWindowFeature(Window.FEATURE_NO_TITLE); // Splash ekrandan basligi kaldirir
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN); // Bilgi cubugunu kaldirir

        setContentView(R.layout.activity_splash);

        IntentLauncher launcher = new IntentLauncher();
        launcher.start();
    }

    private class IntentLauncher extends Thread {
        @Override

        public void run() {
            try {
// Sleeping
                Thread.sleep(SLEEP_TIME*1000);
            } catch (Exception e) {
                Log.e(TAG, e.getMessage());
            }

// Start main activity
            Intent intent = new Intent(SplashActivity.this, MainActivity.class);
            startActivity(intent);
            finish(); //Bu activity kapanır
        }
    }
}

AndroidManifest.xml dosyamızda da düzenleme yapmamız gerekiyor, aksi takdirde uygulamamız MainActivity üzerinden açılacaktır. Kodları yanlış yazmamız halinde de Uygulama patlayabilir.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.serifgungor.splashscreen_example">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
        </activity>

        <activity
            android:name=".SplashActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

Bu makaleyi paylaşın:
İstanbul'da yaşıyorum.Web üzerinde Frontend/Backend Geliştirmenin yanı sıra, Android Geliştirme, PHP/ASP.NET, C# Yazılım Uzmanlığı ve Java konuları işliyorum. Kod Şiirdir, onları seviyorum.

Bir yorum bırakın