2011-04-04 18 views
21

3x4 ızgarada 12 düğmeyi oluşturmak için TableLayout kullanarak telefon çevirici görünümü oluşturmaya çalışıyorum. Tüm boş alanları eşit olarak kullanmak için satırların dikey olarak gerilmesini isterim, ancak fill_parent ifadesi TableRows üzerinde çalışmaz.Android TableRow ekranı doldurmak için dikey olarak uzatın

SetMinimumHeight'ı kullanmak zorunda kalmak istemiyorum - düzeni düzgün şekilde yapmanın bir yolu var mı?

Çok teşekkürler,

Ed

cevap

57
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:stretchColumns="*" 
    > 
    <TableRow 
     android:layout_weight="1" 
     android:gravity="center"> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
    </TableRow> 
    <TableRow 
     android:layout_weight="1" 
     android:gravity="center"> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
    </TableRow> 
    <TableRow 
     android:layout_weight="1" 
     android:gravity="center"> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
    </TableRow> 
    <TableRow 
     android:layout_weight="1" 
     android:gravity="center"> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
     <Button android:text="Button" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 
    </TableRow> 
</TableLayout> 
</LinearLayout> 

enter image description here

+0

Ben 2 iç içe Linearlayouts düğmeleri ile bir çözüm sonrası giderek, ancak çözümler çok iyi çalışıyor ve aynı zamanda görünüyor edildi OP'nin istediği gibi bir TableLayout kullanarak. :) – Adinia

+0

Serin, ama java kodunda nasıl yapılır? Ben sadece çalışma zamanında bilinen satır ve sütunların sayısı ile benzer bir sonuç elde etmeye çalışıyorum, ama 'java.lang.ArithmeticException: 'android.widget.TableLayout.mutateColumnsWidth (TableLayout.java:579)' sıfıra bölün. Android düzen sisteminin gerçekten çok fazla geciktiğine inanamıyorum bile. –

+1

Oops, Bunu buldum: http://stackoverflow.com/a/9683743/1418097 –

İlgili konular