Andoid Programlamada Splash Ekrani

Merhaba

Bu makalede Splash ekrani olusturmaktan bahsedecegim. Splash ekrani bir tanimlayici ekrandir. Kisaca uygulama yüklenirken karsiniza çikan ekran olarak tanimlayabiliriz.

Ilk olarak "Splash Ekrani" adinda yeni bir Proje olusturuyoruz. Daha sonra projede “res” klasörünün altina “drawable” adinda bir klasör olusturuyorum ve içerisine Splash ekraninda kullanacagim logo’yu içerisine atiyorum. 

android splask screen

Daha sonra “src-com.example.splashscreen” paketinin altina “SplashScreen” adinda yeni bir java classi olusturuyorum.Ardindanda “res->layout” klasörünün altina “splash_screen.xml” adinda yeni bir  Android xml dosyasi olusturuyorum.

 

 

Simdi olusturmus oldugum “SplashScreen.java” classinda  “SplashScreen methodununa asagidaki ifadeyi ekliyorum.

public class SplashScreen  extends Activity{}”  bu sekilde methodun activityden türemis bir method olmasini sagliyorum .  Daha sonrada yukaridaki menüden “Source->Override Implement method” u seçiyorum.

 

Açilan Pencerede “onCreate(Bundle)” i seçiyorum .

“onCreate()” methodunun altina asagidaki ifadeyi ekliyerek olusturmus oldugum “splash_screen” sayfasi ile activity’i bagliyorum

setContentView(R.layout.splash_screen

Daha sonra proje dosyasinin içerisindeki “AndroidManifest.xml” dosyasini açiyoruz. Xml görünümüne geçip  asagidaki kodlari “<Application> “’in altina ekleyerek olusturmus oldugumuz Activity’i ekliyoruz

<activity
            android:name="com.example.splashscreen.SplashScreen"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.DEFAULT" />

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

Simdi Splash ekraninin Tasarimini yapacagiz. “Splash_screen.xml”  dosyasini açiyorum. Sonra soldaki menüden imageViewi sürükleyerek ekrana birakiyorum ve açilan pencerede daha önce projeye eklemis oldugum “logo.png” yi seçiyorum. Yada isterseniz “Splash_screen.xml” de xml görünümüne geçip asagidaki kodu ekleyebilirim.

<ImageView
        android:id="@+id/imageView1"
        android:layout_width="200dp"
        android:layout_height="80dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="202dp"
        android:src="@drawable/logo" />

Son olarak “SplashScreen” classimda “onCreate” methodunun içerisine geliyorum ve asagidaki kodu ekliyorum.

Thread acilisekrani = new Thread(){
            public void run(){
                try { sleep(3000);
                Intent intent = new Intent(SplashScreen.this,MainActivity.class);
                startActivity(intent);
                    } catch (Exception e) {
                    // TODO: handle exception
                    e.printStackTrace();
                }
                finally{
                    finish();
                }   
            }   
        };
        acilisekrani.start();

Bu kodun yaptigi islem ; açilista iki islem çalisiyor bunlardan ilki bizim ilk activitymiz ikincisi de splash ekranimiz. Bu iki islemin ayni anda çalismasini “Thread”ler  ile sagliyorum. Run fonksiyonu ile Activitymizin “sleep()” fonksiyonu sayesinde belirli bir süre çalismasini sagliyorum. Daha sonra “Intent” ile iki Activity arasinda geçis yapiyorum. Bunalari bir “try-catch” bloguna aliyorum.Son olarak “finally” yazarak “finish()” fonksiyonu ile bu Activity i sonlandiriyorum.

Bu adimlari tamamladiktan sonra uygulamamiz hazir.Uygulamanin ekran görüntgleri sekildeki gibidir.

Projenin kaynak koduna buradan ulasabilirsiniz

Tags:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir