Android: Splash Screen Yapımı

173

Mobil uygulamaların olmazsa olmazı olan Splash screenleri her uygulamada görüyoruz. Splash Screen, bir geçiş ekranıdır. Uygulama kullanıcıya hazırlanırken bazı kontroller koyarak hem kendinizin hem de kullanıcının bazı işlerini kolaylaştırabilir.

Kullanıcının bazı kontrollerden geçerek ana ekrana gitmesini isteyebilirsiniz. Bu kontroller kullanıcının internete bağlı olup/olmaması veya wifi üzerinden bağlı olmasını isteyebilirsiniz. İnternete bağlı ise kullanıma olağan şekilde devam edebilir yada bağlantısı yoksa bir uyarı verebilir ve uygulamayı kullanmasına izin vermeyebilirsiniz. Genellikle bu işleme bankacılık uygulamalarında rastlıyoruz. Senaryoları arttırmak  gerekirse, bir uygulamanın özelliği olarak şarjınızın belirli yüzdenin altına indiğinde sadece kullanabileceğiniz bir uygulamada Splash screen kullanıcıya uygulamanın açıldığına dair bir geri bildirim verirken siz de bu kontrolleri gerçekleştirebilirsiniz.

En çok gördüğümüz bir diğer senaryo ise bu esnada şifre kontrolünün yapılması. Siz web uygulamasından şifreyi değiştirdiğinizde mobil uygulama hala eski şifre ile giriş yapmasını engellemek için mobil uygulamanında şifrenin hala geçerli olduğunu kontrol etmesi gerekir.

Biz ise kendi örneğimizde sadece süreye bağlı bir splash screen gerçekleştireceğiz.

Nasıl?

Boş bir proje açarak başlıyoruz. Projemizde iki activity class’ı mevcut olacak. Senaryomuz, splash screen işini bitirdikten sonra ana ekrana geçiş yapması. SplashScreenActivity adıyla yeni bir activity oluşturuyoruz.

Bu işlemi aynı zamanda AsyncTask ile de gerçekleyebilirsiniz. Splash screen’de bulunan ikonunuz eğer uygulamaya gömülü değil de server’dan çekiyorsanız burada yaptığımız gibi süreye bağlı değil olaya bağlı da yapabilirsiniz.

Yeni bir activity oluşturduğumuz için bunu manifest dosyasına tanımlama yapmamız gerekiyor.

Geçiş yapılan ekranın bir önemi olmadığı için onun kodları yazmıyorum fakat projeye Github‘dan ulaşabilirsiniz ve diğer senaryolar için pull-request gönderebilirsiniz.

Yorum yaz

Email adresiniz yayınlanmayacaktır.