2010-11-19 27 views
1

Android'de satırları TableLayout'a eklemeye çalışıyorum ve yönlenme özelliği çalışmıyor gibi görünüyor. Temel olarak, bir TableRow oluşturmak, ona birden çok TextView s eklemek ve TableLayout'a eklemek ve TextView s yatay olarak yerine dikey olarak yığmak gerekir. çalışması lazım gibiTablo satırında dikey satırlar ekleme

<TableLayout android:id="@+id/mylayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 
    <TableRow android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
      <TextView android:text="Test1"></TextView> 
      <TextView android:text="Test2"></TextView> 
    </TableRow> 
</TableLayout> 

Bu gibi görünüyor, ama TextView'lar soldan sağa yığılmış sona:

XML şöyle görünür. Düşüncesi olan var mı?

cevap

0

Bu problem.I bir çözüm RelativeLayout ve ben programlı her bir dikey row.I için kendisine dikey yönünü LinearLayout ekliyorum LinearLayout eklenen son kontrol kimliği için bir tanıtıcı tutmak ve yeni insert yapılan bulundu Bu kimliğin sağında. Biraz kludgy hissediyor, ama işe yarıyor.

1

için

 <TextView android:text="Test1"></TextView> 
     <TextView android:text="Test2"></TextView> 

değiştirmeyi deneyin:

 <TextView android:text="Test1" android:layout_column="0"></TextView> 
     <TextView android:text="Test2" android:layout_column="0"></TextView> 

o

Hücreler sütun artan sırada bir satır eklenmesi gerekir diyor belgelere TableLayout (http://developer.android.com/reference/android/widget/TableLayout.html) Bkz, hem kod ve XML'de. Sütun numaraları sıfır tabanlı. Bir alt hücre için bir sütun numarası belirtmezseniz, bir sonraki kullanılabilir sütuna otomatik olarak geçer. Bir sütun numarasını atlarsanız, o satırda boş bir hücre olarak kabul edilir. XML'de tablo oluşturma örnekleri için ApiDemos'taki TableLayout örneklerine bakın.

+0

Teşekkür Bu LinearLayout ekleyin. layout_column bir şey kaçırmadığım sürece TextView'in bir özelliği değil. Bunu yaparak sütun programlayarak çalıştı, ama yine de aynı görünüyor ... TextView tv1 = new TextView (this); \t \t TextView tv2 = yeni TextView (this); \t \t tv1.setText ("Test1"); \t \t tv2.setText ("Test2"); \t \t tv1.setLayoutParams (yeni TableRow.LayoutParams (0)); \t \t tv2.setLayoutParams (yeni TableRow.LayoutParams (0)); – Nate

+0

Yazım hatası yapmıyor musunuz? Burada bir örnek görebilirsiniz: http://developer.android.com/resources/tutorials/views/hello-tablelayout.html – Thomas

+0

Bu örneği gördüm. Sütun numarası çalışır, ancak yalnızca verileri yatay olarak düzenlemek için kullanılır. Dikey olarak büyümek için sütunlara ihtiyacım var. En üste veri ekliyorum, her seferinde 1 satır. – Nate

0

Dikey yönlendirmeyle bir LinearLayout oluşturun ve içindeki metin görünümlerini görüntüleyin. Sonra hızlı cevap Thomas için TableRow için

<TableLayout android:id="@+id/mylayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 
    <TableRow android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" > 
        <TextView android:text="Test1"></TextView> 
        <TextView android:text="Test2"></TextView> 
      </LinearLayout> 
    </TableRow> 
</TableLayout> 
+0

've' 'özelliği nedir? –

1
We can do by inserting TableLayout inside TableRow,like this. 


<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TableLayout android:id="@+id/mylayout" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 
     <TableRow android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 
      <TableLayout android:id="@+id/mylayout1" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:orientation="vertical"> 
      <TextView android:text="Test1"></TextView> 
      <TextView android:text="Test2"></TextView> 
      </TableLayout> 
     </TableRow> 
    </TableLayout> 
    </LinearLayout> 
İlgili konular