Android Arayüz Tasarımı ve Layout Kullanımı

Java Kotlin Eğitimi

Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız Android Eğitimleri yazı serimizde bu dersimizde Android Arayüz Geliştirme de Layout ile devam ediyoruz. Nedir bu Layout kavramı ,ne işe yarar şimdi incelemeye başlayalım.

Android uygulamalarımızda görsel kısımlar res klasörü altında bulunan layout dosyaları tarafından oluşturulur ve bu oluşan bu dosyalar xml formatındadır. Android Studio da layout kısmını açtığınızda karşınıza gelen ekranda istediğiniz tasarımları yapabilirsiniz, android in sahip olduğu görsel bileşenleri ister kod ile ( xml tarafında ) isterseniz sürükle bırak ile oluşturabilirsiniz.

Aşağıda gördüğünüz gibi uygulamada kullanabileceğimiz çeşitli layout türleri vardır. ( listede fragment yapısına da yer verilmiş fakat farklı bir kavram olduğu için fragmentları layout türlerinde anlatmayacağım. ) Hepsini ayrıntılı olarak bir sonraki derslerimizde anlatacağım şimdilik sadece ne işe yaradığını ve hangi durumlarda kullanmamız gerektiğininden bahsedeceğim.

Her bir layout width ve height özelliklerine sahiptir. width yatay alanı , height ise dikey alanı belli eder.

match_parent : bulunduğu alan içerisinde yatay veya dikey olarak yer aldığı alanı kaplar. Bu özellik ; fill_parent ile kullanılıyordu genelde ama android 2.2 versiyonundan sonra artık match_parent kullanılmaya başlandı.

wrap_content : bulunduğu alan içerisinde yer alan metin, resim veya bileşen kadar yer kaplar.

Android Layout Türleri

  • RelativeLayout : RelativeLayout ile birlikte Android görsel bileşenlerini istediğimiz yere sürükleyip kullanabiliriz. Bu layout içerisinde yer alan bileşenleri de kendi içerisinde konumlandırabiliriz sağına göre, soluna göre, alt kısma göre, üst kısma göre. Relative Layout ile daha esnek tasarımlar yapabiliriz.
  • LinearLayout: LinearLayout ile birlikte tüm android bileşenlerini tek bir konumda kullanabiliriz. orientation özelliğini kullanarak yatay LinearLayout (horizontal) ve dikey LinearLayout (vertical) olarak da konumlandırabiliriz. Alt alta yada yan yana aynı çizgi üzerinde bulunacak componentleri LinearLayout ile kullanırız.
  • TableLayout: TableLayout ile birlikte Android bileşenlerini bir tablo yapısına yerleştirirsniz. Html’deki gibi tablo yapısı şeklinde göstermek için kullanılır.
  • FrameLayout: FrameLayout ile birlikte Android bileşenleri üst üste biner. Örnek verecek olursak; iki butonunuz var ve aynı yerde konumlansın istiyorsunuz, biri gözüktüğünde diğeri kaybolsun ve tam tersi koşulda gerçekleşsin istiyorsanız FrameLayout kullanabilirsiniz. Başka bir örnek ise elinizde bulunan bir Listview üzerinde bir butonun her zaman sabit kalmasını istiyorsunuz. Bu durumda FramelLayout kullanabilirsiniz.
  • GridLayout: row ve column yapısına sahip olan android bileşenlerini grid de toplayan layout türüdür.
  • ConstraintLayout: Android Studio 2.2 ile gelen bu layout ile Android bileşenlerini sürükle bırak yaparak responsive bir görüntü elde edebiliriz ayrıca alt alta ve yan yana android bileşenlerini elde etmek için kullandığımız LinearLayout yerine ConstraintLayout kullanarak her cihaz için uyumlu tasarımlar oluşturabiliriz.

Evet arkadaşlar layout türleri gördüğünüz gibi bunlar hepsini ayrıntılı olarak anlatacağım şimdiden bir fikir edinmeniz açısından bu layout türlerini açıkladım. Bir sonraki dersimize kadar bu layout türlerini incelemeniz faydalı olacaktır.

Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.

Mobilhanem.com üzerinden anlattığımız android uygulama geliştirme derslerine devam edeceğiz. Konu hakkında sorunuzu yorum alanından sorabilirsiniz. Konu dışı sorularınızı ve tüm yazılımsal sorularınızı sorucevap.mobilhanem.com sitemizden de sorabilirsiniz.

Bir dahaki dersimizde görüşmek dileğiyle..

Alper Beyler

Yüksek Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği
Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği (4/3.30) (2010-2014)
Lisans : Viyana Teknik Üniversitesi / Bilgisayar Bilimleri (2013)

1 Yorum

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?