2012-10-15 17 views
13

Chcę narysować tabelę, w której ostatnia kolumna powinna znajdować się po prawej stronie stołu.Prawa kolumna w układzie tabeli Android

ten sposób, że wiersz tabeli wygląda następująco:

Admin (2)New 
Network (2)New 

I to właśnie powinno być:

Admin (2)   New 
Network (2)  New 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<!-- row.xml --> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="45dp" 
    android:gravity="center" android:background="@color/list_bg"> 

    <TableLayout android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

     <TableRow> 



      <ImageView android:id="@+id/t1" android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

      <TextView android:id="@+id/t2" android:typeface="normal" 
       android:singleLine="true" android:textSize="14sp" android:textStyle="normal" 
       android:layout_width="wrap_content" android:textColor="#000000" 
       android:layout_height="wrap_content" /> 
      <TextView android:id="@+id/t10" android:typeface="normal" 
       android:singleLine="true" android:text=" " android:textSize="14sp" 
       android:textStyle="normal" android:layout_width="wrap_content" 
       android:textColor="#000000" android:layout_height="wrap_content" /> 
      <TextView android:id="@+id/t4" android:typeface="normal" 
       android:visibility="gone" android:singleLine="true" android:text="(" 
       android:textSize="14sp" android:textStyle="normal" 
       android:layout_width="wrap_content" android:textColor="#000000" 
       android:layout_height="wrap_content" /> 
      <TextView android:id="@+id/t5" android:typeface="normal" 
       android:visibility="gone" android:singleLine="true" 
       android:textSize="14sp" android:textStyle="normal" 
       android:layout_width="wrap_content" android:textColor="#000000" 
       android:layout_height="wrap_content" /> 
      <TextView android:id="@+id/t6" android:typeface="normal" 
       android:visibility="gone" android:singleLine="true" android:text=")" 
       android:textSize="14sp" android:textStyle="normal" 
       android:layout_width="wrap_content" android:textColor="#000000" 
       android:layout_height="wrap_content" /> 
      <ImageView android:id="@+id/t3" android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
      <TextView android:id="@+id/t7" android:typeface="normal" 
       android:visibility="visible" android:singleLine="true" android:text="New" 
       android:textSize="14sp" 
       android:textStyle="normal" android:layout_width="wrap_content" 
       android:textColor="#000000" android:layout_height="wrap_content" /> 

     </TableRow> 

    </TableLayout> 

</RelativeLayout> 

W tym xml t7 powinny być po prawej stronie po prawej stronie, jak to zrobić?

+0

Możesz grupować LinearLayout i inne widoki, aby Twój TableRow był bardziej kolumnowy. Zamiast pojedynczego wiersza tabeli z 8 kolumnami masz jeden wiersz z dwiema kolumnami (jak na przykład). – Cookster

Odpowiedz

21

Tu trzeba zrobić

  1. ustawić szerokość tabeli rząd do fill_parent

  2. i ustawić android:layout_gravity="right" do TextView które chcesz wyrównać prawo go do wiersza tabeli

    ---- lub ----

  1. dodać wagę do widoku tekstowego wewnątrz wiersza tabeli, aby można było dopasować, jak chcesz.
+0

To co zrobiłem i Ale działa nie działa??? –

+0

Jak zrobić drugi? –

+0

czy otrzymałeś swoje wymagania pierwszą metodą? –

19
  1. android: stretchColumns = "x" gdzie x jest kolumna chcesz wypełnić
  2. android: layout_width = "fill_parent" aby zapewnić wszystko wypełnia ekran
  3. androida: layout_gravity = "right" dla komponentu widoku w kolumnie "x"

przykład (pseudo kod):

<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:stretchColumns="1"> 

    <TableRow> 
     <TextView android:text="Left Column" /> 
     <TextView android:layout_gravity="right|center_vertical" android:text="Right Adjusted Column" /> 
    </TableRow> 

</TableLayout> 
+0

Znaczenie # 1 jest takie, że typowe układy tabel są zdominowane przez kolumnę zawierającą najwięcej danych. Jeśli ta kolumna ma dwa rozmiary, wysokość wszystkich rzędów może być różna. – Cookster

Powiązane problemy