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.xmldosyası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;TableRowbenzer><tr>>öğesi; ancak hücreler için herhangi bir türViewöğesi kullanabilirsiniz. Bu örnekte Her hücre içinTextViewkullanı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,Activityiçin kaynak tarafından belirtilen düzen dosyası Kimlik —R.layout.main,res/layout/main.xmldüzenini belirtir dosyası olarak kaydedebilirsiniz. - Uygulamayı çalıştırın.
Aşağıdaki ekranı görmeniz gerekir: