TableLayout
, alt öğelerini, yani View’leri ve diğer Layout’ları satırlar ve sütunlarla bir tablo biçiminde düzenleyen bir ViewGroup‘tur. Bir satır tanımlamak için <TableRow> etiketini kullanabilirsiniz.
Bir TableLayout‘taki sütun sayısından bahsetmeye gerek yoktur, çünkü Android, bir tablo satırına eklenen görünüm ve diğer düzenlerin sayısına göre sütunları otomatik olarak ekler.
TableLayout: Hatırlanması Gereken Önemli Noktalar
TableRow
için layout_width
ve layout_height
sağlamaya gerek yoktur, çünkü varsayılan olarak genişliği match_parent
ve yüksekliği wrap_content
‘dir.
İçinde maksimum görünüm bulunan bir tablo satırı, o kadar çok sütun oluşturulur.
Sütunun genişliği, maksimum genişliğe sahip sütunun boyutuna göre otomatik olarak ayarlanır.
Şimdi TableLayout
‘ta kullanılan bazı ortak özelliklere bakalım.
Nitelikler | Nerede Kullanılır | Ne için Kullanılır |
---|---|---|
android:stretchColumns | TableLayout | Bir sütun genişliği daha az olduğunda ve onu genişletmeniz (veya uzatmanız) gerektiğinde, bu niteliği kullanırsınız. |
android:shrinkColumns | TableLayout | Bir sütunda fazladan boşluğa ihtiyacınız olmadığında, alanı küçültmek ve kaldırmak için bu özelliği kullanabilirsiniz. |
android:collapseColumns | TableLayout | TableLayout’ta verilen dizinin sütununu gizler. |
android:layout_span | TableRow içindeki her hangi bir View | Bir görünüm yalnızca bir sütun genişliği alıyorsa ancak görünümünüzün birden fazla sütun alanı kaplamasını istiyorsanız, bu özelliği kullanabilirsiniz. |
android:layout_column | TableRow içindeki herhangi bir View | İlk TableRow’da bulunan görünümünüzün diğer TableRow’un görünümünün altında görünmesini istediğinizde, bu özelliği kullanabilirsiniz. |
XML’de TableLayout’u tanımlama
Şimdi, yerleşim XML’inde ve çıktısında bir TableLayout
‘u nasıl tanımlayabileceğimizi anlayalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" tools:context="com.tasarimkodlama.MainActivity" android:background="#dfe6e9"> <!-- first row --> <TableRow android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:background="#ffeaa7"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="İsim" android:textAppearance="?android:attr/textAppearanceMedium"/> <EditText android:id="@+id/edtName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:hint="Adınızı girin" android:inputType="textPersonName"/> </TableRow> <!-- second row --> <TableRow android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:background="#fab1a0"> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Şifre" android:textAllCaps="true" android:textAppearance="?android:attr/textAppearanceMedium"/> <EditText android:id="@+id/edtPwd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:hint="*****" android:inputType="textPassword"/> </TableRow> <!-- third row --> <TableRow android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:padding="16dp"> <Button android:id="@+id/btnSubmit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GİRİŞ"/> </TableRow> </TableLayout> |
Çıktı:
XML dosyasında görebileceğiniz gibi, root öğe TableLayout
‘tur, bu nedenle layout satırlar ve sütunlar şeklinde oluşturulmuş bir öğeler tablosuna sahip olacaktır.
Tablo düzenindeki satırlar TableRow
etiketi ile tanımlanır. layout_width
ve layout_height
niteliklerini kullanarak satırın genişliğini ve yüksekliği belirtmeniz gerekir.
Ardından, TableLayout’a yeni bir satır eklenmesini istiyorsanız, yeni TableRow
etiketi ekleyebilir ve bunun içinde istediğiniz bileşenleri/görünümleri tanımlayabilirsiniz. Tablo satırı, bileşenlerin yan yana yerleştirildiği Linear Horizontal Layout ile aynı şekilde çalışır.
TableLayout
için üç özellik belirledik, yani:
collapseColumns
Bu özellik, hangi sütunun daraltılacağını, yani belirtilen dizinin sütunlarının gizleneceğini tanımlar.
shrinkColumns
Bu özellik, sütunlar için indes değerleri sağlayarak bir sütunu veya birden çok sütunu küçültmek için kullanılır.
stretchColumns
Bu özellik sütunları germek için kullanılır.
Dizin değeri 0’dan başlar, yani ilk sütunda dizin 0, ardından 1 vb. şekilde artar.
Tüm bu üç özellik için sütun indeksleri tek bir değer olarak gösterilebilir veya bu özelliği birden çok sütun için uygulamak istiyorsanız, bunu indeksler arasında virgül(,) kullanarak yapabilirsiniz. örneğin: 1,2,5. Sütunların indekslerinden bahsetmek yerine * değerini kullanarak tüm sütunları uzatabilirsiniz.
Düzende e’nin iki bileşenli ilk satırı eklediğini görebilirsiniz – biri Android Studio (Etiket olarak Ad görüntüleniyor) ve diğeri bir EditText (Kullanıcıdan Adı almak için). Elemanların ekranın ortasına yerleştirilmesi için bu sıranın yerçekimini merkez olarak ayarladık.
Benzer şekilde, ikinci satırı TextView
(Parolayı etiket olarak görüntülemek için) ve EditText
(kullanıcıdan şifre almak için) ile ekledik.
Üçüncü satırda yalnızca bir Gönder Button
bulunur.
Daha fazla Android içeriği için Android Dersleri yazısını inceleyebilirsiniz.
1 Yorum