TableLayout
, şu özelliklere sahip bir ViewGroup
:
Satır ve sütunlarda alt View
öğelerini görüntüler.
Not: Daha iyi performans ve araç desteği için bunun yerine düzeninizi ConstraintLayout ile oluşturmanız gerekir.
TableLayout
, alt öğelerini satırlara ve
sütunlarından birini tıklayın. TableLayout kapsayıcıları, satırları için kenarlık çizgileri görüntülemez,
hücre veya sütun olabilir. Tabloda,
yapabilirsiniz. Bir tablo, hücreleri boş bırakabilir. Hücreler birden çok sütunu kapsayabilir,
yapabiliyorlar. span
kullanarak sütunları kapsaabilirsiniz
alanına TableRow.LayoutParams
ekleyin.
Not: Hücreler birden çok satırı kapsayamaz.
TableRow
nesne, bir TableLayout'un alt görünümleri
(her TableRow, tabloda tek bir satırı tanımlar). Her satırda sıfır veya daha fazla satır var
her biri başka bir Görünüm türü tarafından tanımlanan hücreler. Dolayısıyla,
bir satır, ImageView gibi çeşitli View nesnelerinden oluşabilir veya
TextView nesneleri. Bir hücre aynı zamanda bir ViewGroup nesnesi olabilir (örneğin,
başka bir TableLayout öğesini hücre olarak iç içe yerleştirebilir).
Aşağıdaki örnek düzende her birinde iki satır ve iki hücre vardır. İlgili içeriği oluşturmak için kullanılan ekran görüntüsünde sonuç gösterilir ve hücre kenarlıkları noktalı çizgiler (görsel efekt için eklenmiştir).
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:text="@string/table_layout_4_open" android:padding="3dip" /> <TextView android:text="@string/table_layout_4_open_shortcut" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/table_layout_4_save" android:padding="3dip" /> <TextView android:text="@string/table_layout_4_save_shortcut" android:gravity="right" android:padding="3dip" /> </TableRow> </TableLayout>
Sütunlar gizlenebilir, mevcut ekran alanını genişletmek ve doldurmak üzere işaretlenebilir,
veya sütunu tabloya kadar küçülmeye zorlamak için daraltılabilir olarak işaretlenebilir.
ekrana sığdığından emin olun. TableLayout reference
inceleyin.
dokümanlarına göz atabilirsiniz.
Örnek
- HelloTableLayout adlı yeni bir proje başlatın.
res/layout/main.xml
dosyasını açın ve aşağıdakini ekleyin:<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:layout_column="1" android:text="Open..." android:padding="3dip" /> <TextView android:text="Ctrl-O" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save..." android:padding="3dip" /> <TextView android:text="Ctrl-S" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save As..." android:padding="3dip" /> <TextView android:text="Ctrl-Shift-S" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Import..." android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Export..." android:padding="3dip" /> <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:layout_column="1" android:text="Quit" android:padding="3dip" /> </TableRow> </TableLayout>
Bunun bir HTML tablosunun yapısına nasıl benzediğine dikkat edin.
TableLayout
öğesi, HTML<table>
öğesine benzer;TableRow
benzer><tr>>
öğesi; ancak hücreler için herhangi bir türView
öğesi kullanabilirsiniz. Bu örnekte Her hücre içinTextView
kullanılır. Bazı satırların arasında temelView
, yatay bir çizgi çizmek için kullanılır.- HelloTableLayout Etkinliğinizin
onCreate()
yöntemi:Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main) }
Java
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }
setContentView(int)
yöntemi,Activity
için kaynak tarafından belirtilen düzen dosyası Kimlik —R.layout.main
,res/layout/main.xml
düzenini belirtir dosyası olarak kaydedebilirsiniz. - Uygulamayı çalıştırın.
Aşağıdaki ekranı görmeniz gerekir: