• edaersu

Android'de Style & Theme


Görsel Referansı

Herkese merhaba ✌️


Bugün çok renkli ve zevkli bir konudan bahsedeceğim. Android uygulamalarımızda style ve theme kavramlarından, view attr’lerden ve farklı theme’ler oluşturarak bunlar arasında geçiş yapmaktan ve de son olarak seçilen theme'in SharedPreferences ile kaydedilmesinden bahsedeceğim.


Uygulamalarımızda tasarıma özen gösteririz ve göze hitap etmesini önemseriz. Bu yüzden herkesin zevkine göre renkler veya tasarımlar eklemeye çalışırız. Bunu da farklı theme’ler oluşturarak kullanıcının seçimine sunarız.


Tasarımda çeşitliliğin yanı sıra free/premium gibi farklı kullanıcı tipli bir uygulamanız varsa uygulama içinde bazı kısımları kullanıcı tipine göre farklı göstermek isteyebilirsiniz. Örneğin; premium kullanıcıya ana sayfada “Hoşgeldin!” derken free kullanıcıya “Hoşgeldin, Premium olmak ister misin?” gibi bir metin göstermek isteyebilirsiniz. Veya yine kullanıcı tipine göre içeride farklı imageları bastırabilirsiniz, background rengini button renklerini yazı size veya fontlarını değiştirebilirsiniz. Tüm bunları farklı theme’ler oluşturarak kolayca yönetebiliriz.

Uygulamalarımızın tasarımını değiştirmenin birden fazla yolu vardır. Aşağıdaki resimde gördüğümüz üzere view attr, style veya theme kullanarak değiştirebiliriz. Yukarıdan aşağıya doğru bu yöntemler birbirini override eder. (View Attrs> Style >Theme)


Yani örneğin theme’de buton rengini mavi yapıp xml dosyası içerisinde butonun color attribute’ünü kırmızı yaparsak kullanıcı kırmızı olarak görür.


Şimdi View attr, styles ve themes’in tanımlarına bakalım.


View Attributes

Tasarımı en basit olarak view’ı oluşturduğumuz xml içerisinde değiştirebiliriz. Örneğin xml içerisine bir buton ekleyip eklenen activity’de rengini mavi yapabiliriz. Bu şekilde yaparsak başka bir activity’de de buton tanımladığımız zaman aynı işlemi o xml içerisinde de yapmamız gerek.

Bu yüzden view attr'ler style’ler gibi yeniden kullanılabilir değildir. Genelde margin, padding gibi tek seferlik tasarımlar için kullanılır.


Styles

Yeniden kullanılabilir tasarım özellikleri oluşturmak için style kullanılır. Örneğin bir button için style tasarladıysanız uygulamada her buton kullanmak istediğiniz yerde button'a o style’i vermeniz yeterli.

Style'in bir parent’ı vardır ve o parent’dan extend ederek bazı özelliklerini değiştirebilir veya yenilerini ekleyebiliriz.


Themes