Android GridLayout Kullanımı

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

GridLayout içinde yer alan android bileşenlerini bir dikdörtgen alana yerleştiren bir layout türüdür. İçindeki alanı hücrelere ayırdığı gibi satır ve sütün sayılarını da kendimiz belirleyebiliriz. Bu layout türünü daha iyi anlayabilmek için hesap makinesinin xml layout kısmını tasarlayacağız. GridLayout ağırlık olarak tanımlanan bileşenler için ağırlık prensibini desteklemez. Örneğin dört butonu eşit boyutlarda aynı satır da göstermeyi planladığımızda butonlar bazı cihazlarda eşit bir şekilde konumlanmış gözükürken , bazı cihazlarda butonlarda ekrana sığmama dolayısıyla eşit ölçüde konumlandırmama durumu olabilir. İşte bu durumda GridLayout yerine Api 21 ile gelen ( android.support.v7.widget.GridLayout ) kullanılabilir.

Android GridLayout

GridLayout için xml de kullanacağımız önemli özelliklerin neler olduğuna bakalım:

android:columnCount : Layout un içinde yer alan android bileşenlerinin maksimum sütun sayısını belirleyip, bu android bileşenlerin otomatik olarak konumlandırılmasını sağlar.

android:rowCount: Layout un içinde yer alan android bileşenlerinin maksimum satır sayısını belirleyip, bu android bileşenlerin otomatik olarak konumlandırılmasını sağlar.

android:useDefaultMargins: true olarak tanımlandığında varsayılan kenar boşlukları kullanmasını sağlar.

android:orientation: Layoutu yatay (horizontal) veya dikey (vertical) biçimde konumlandırmamızı sağlar.

Aşağıdaki kod yapısında columnCount=3 yaparak satır ve sütun sayılarını belirledik. GridLayout içine yerleştirdiğimiz Butonlarda aşağıdaki ekran çıktısında göreceğiniz gibi kendini otomatik olarak konumlandırdı. GridLayout arka plan rengini mavi yaptık bu yüzden de boşta kalan kısımda mavi gözüküyor eğer bir buton daha olsaydı oraya konumlanacakdı.

Ekran çıktısı:

 

useDefaultMargins true olarak set ettiğimizde varsayılan kenar boşluklarını ayarlar ve aşağıdaki ekran çıktısında gördüğünüz gibi butonlar arasında boşluklar oluşturulur.

Ekran çıktısı:

 

Yukarıda ki kod yapısında gözlemlediğimiz gibi bir satır alan boş kalmıştı şimdi o alanı 7 numaralı buton ile doldurmaya çalışmak istersek neler yapacağımıza bakalım; 7 numaralı butona android:layout_columnSpan=”2″ diyerek aslında 2 birim kolunluk yer almasını ve android:layout_gravity=”fill” ile de o kapladığı alan kadar olan yeri doldurmasını sağladık.

Ekran çıktısı:

 

Dinamik Android GridLayout Oluşturma

Aşağıdaki kodlamaya baktığımızda dinamik bir şekilde GridLayout oluşturduk, setBackGroundColor ile arka plan rengini belirledik , setColumnCount ve setRowCount ile sütun ve satır sayılarını belirledik. Toplamda 6 adet butonu GridLayout içine yerleştirdik. Daha sonra RelativeLayout oluşturduk en dışta bu layout olacağından RelativeLayout içine de GridLayout konumlandırmasını yaptık.

Ekran çıktısı:

Şimdiye kadar öğrendiğimiz modüller ile bir hesap makinesinin tasarımını yapalım; aşağıdaki kodlamaya baktığımızda GridLayout için sütun sayısını 4 olarak belirledik. Hemen içinde yer alan EditText e android:layout_columnSpan=”4″ dedik çünkü yanında başka bir android bileşeni olmasını istemiyoruz o alanda sadece EditText ile oluşmasını istediğimiz için columnSpan kullanarak GridLayout da belirlediğimiz sütun sayısını burada da kullandık. Text değeri 0 olan buton içinde android:layout_columnSpan=”2″ ve android:layout_gravity=”fill” değerlerini set ederek 2 birimlik yer kaplamasını sağladık.

Ekran çıktısı:

 

Aşağıdaki kodlamaya baktığımızda ise; text değeri 3 olan butonun  android:layout_rowSpan=”2″ ve android:layout_gravity=”fill_vertical” değerlerini vererek dikey olarak 2 birimlik yer kapladık. text değeri 6 olan butonunun kullanımınıda benzerini de ayrıntılı bir şekilde anlattık.

Ekran çıktısı:

 

 

GridLayout orientation değerini dikey ( vertical ) olarak belirttiğimizde ise aşağıda gördüğünüz gibi bir ekran görüntüsünü elde ettik.

Ekran çıktısı:

 

Evet arkadaşlar Android GridLayout Kullanımı aşamalarını sizlere detaylıca anlatmaya çalıştım. Umarım hepiniz için faydalı olmuştur.

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 daha ki 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)

Yorum Yaz

Haftalık Bülten

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