2012-03-26 5 views
1

私は、データを取り込むてるリストビューを持っていると私はこのように私のレイアウトを取得しようとしている:道にはアンドロイド - テーブルの行のようにTextViewsを合わせ

Desired Layout

ありますリニアまたは相対レイアウトを使用してこれを作成しますか?私はTableRowsで試してみましたが、それが動作している間は、右から左に分割する列の間にギャップが残っていて、それは全く魅力的ではありません。

どこから始めるべきかわかりません....どんな助けでも大歓迎です。

答えて

0

は、私はあなたの初とレイアウトを作成した2行:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:gravity="right" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Issue Number:" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Date Received:" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="8dp" 
    android:layout_toRightOf="@+id/linearLayout1" 
    android:gravity="left" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="6,046" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="09/02/2008" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 
</LinearLayout> 

</RelativeLayout> 
+0

これは良い答えではありません。なぜなら、2番目の列textviewsが複数の行を持つ場所を考慮していないからです。 – Munib

0

実際には、2つのLinearLayoutを1つの親LinearLayoutの内側に配置することでこれを実行できます。親のandroid:orientationは水平であるべきです。各行について、このテクニックを使用する必要があります。

私のプロジェクトでこのメソッドを使用しました。

2

私は1行分のサンプルを書いています。それを参照してください。

<LinearLayout 
    android:id="@+id/line1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <TextView 
     android:text="Issue Number" 
     android:layout_weight="1.0" 
     android:layout_height="wrap_content" 
     android:layout_width="0px" 
     android:gravity="right"/> 

    <TextView 
     android:text="6046" 
     android:layout_weight="1.0" 
     android:layout_height="wrap_content" 
     android:layout_width="0px" 
     android:gravity="left"/> 

</LinearLayout> 

あなたはすべての行のためにこれを書いた後、垂直方向と親のLinearLayoutの下でそれを囲む必要があります。

+0

この回答はプロです私が追加する唯一のものは、左のテキストビューを1.0の重み付けを、右のものを3.0の重み付けを指定することができるということです。これにより、上記の望ましい結果が得られます。 – Munib