Ara 17

Uygulamamız çalıştırıldığında birkaç saniyelik bir tanıtım ekranının görüntülenmesini ardından uygulamamızın ana menüsüne geçilmesini isteyebiliriz. Bu uygulamanın reklamını yapan bir sayfa olabileceği gibi, uygulamayı temsil eden bir sayfa da olabilir.

Böyle bir sayfa yapmak için uygulamamız içerisinde thread yapısı kullanmamız gerekir.

Öncelikle yeni bir proje oluşturalım. Ardından uygulamamıza splash isminde bir sayfa ekleyelim. Sayfanın gerekli ayarlamalarını yapalım. (layout dosyası,java dosyası ve AndroidManifest kaydı)

Ardından splash ekranımıza, layout kısmındaki sayfa görünümünden bir imageView ekleyip, Properties kısmında bu imageView’ın Src özelliği aracılığıyla nesne içerisine uygulamayı temsil eden bir resim ekleyelim.

Şimdi projemizin başlangıç sayfası olan MainActivity sayfasının .java uzantılı class yapısı içerisine girelim. Ve yeni bir thread oluşturalım.

Thread sayfaGecisThreadi= new Thread()
		{
		public void run() 
		{
			try 
			{
				sleep(5000);
				Intent sayfayiBaslat= new Intent("android.intent.action.SPLASH");
				startActivity(sayfayiBaslat);	
			}
			catch(InterruptedException e1) {}
			finally 
			{
				finish();			
			}		
		} 	
		};
		sayfaGecisThreadi.start();

Burada görüldüğü gibi sayfaGecisThreadi adında bir thread oluşturduk. Ardından thread’ın run() metodu içerisine sleep(5000); diyerek sayfa açıldığında 5000 ms yani 5 saniye uyumasını söyledik. 5 saniye geçtikte sonra ise Splash ekranını başlatmasını söyledik. Thread’ı  yazıp bitirdikten sonra ise, sayfaGecisThreadi.start(); diyerek çalıştırdık.

Burada dikkat edilmesin nokta şu. Eğer uygulama bu haliyle çalıştırılırsa, açıldığında 5 saniye ana ekran görüntülenir, ardından projeyi temsil eden resmin bulunduğu splash ekranına geçer.

Biz ise tam tersini, splash ekranının 5 saniye görüntülenmesini ve ardından ana ekrana geçilmesini istiyoruz.

Öyleyse biz MainActivity.java içerisinde setContentView metodunda ana menü sayfasını değil de splash.xml sayfasını çağırırsak, splash.java içerisindeki setContentView metodunda ise mainactivity.xml sayfasını çağırırsak istediğimizi elde etmiş oluruz.

Yani uygulamamızda şöyle bir değişiklik yapalım.

MainActivity.java

setContentView(R.layout.splash);

Splash.java

setContentView(R.layout.activity_main);

Bu sayede MainActivity.java kısmındaki thread çalıştığında MainActivity.java sınıfının çağırdığı sayfa (splash.xml) 5 saniye boyunca ekranda kalacaktır, ardından splash.java sınıfının çağırdığı (mainactivity.xml) sayfa aktif olacaktır. Uygulamanın ekran görüntüleri aşağıdaki gibidir.

16-1

16-2

2 Yorum “Splash Ekranı Oluşturma”

  1. avatar Alperen diyor ki:

    hocam bunu kullanıcıyı bekletmeden nasıl yapabiliriz? mainactivity arkada çalışmaya nasıl devam edebilir?

    • avatar Hüseyin Bodur diyor ki:

      MainActivity içerisinde bir timer aracılığıyla yapabilirsin. Dikkat etmen gereken onBackPress tuşuna basıldığında,yani ana sayfaya geri dönüldüğünde splash görselinin açılmaması.

Yorum Yaz