2012-05-31 72 views
0

我希望我的列表視圖項目排列並顯示爲表格數據。我在每個ListItem中有四個TextView。我有第一和第四甚至在邊緣。我無法讓中間排隊。有一個更好的方法嗎?如何製作ListView項目甚至

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="40dp" 
    android:background="@color/row_selector" 
android:paddingLeft="10dp" 
android:paddingRight="5dp" 
android:paddingBottom="10dp" 
android:paddingTop="10dp" > 
<TextView 
    android:id="@+id/labelGas" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="25" 
    android:text="@+id/label" 
    android:textColor="#222" 
    > 
</TextView> 
<TextView 
    android:id="@+id/labelDate" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="15" 
    android:text="@+id/label" 
    android:textColor="#222" 
    > 
</TextView> 
<TextView 
    android:id="@+id/labelApr" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="35" 
    android:text="@+id/label" 
    android:textSize="18dp" > 
</TextView> 
<TextView 
    android:id="@+id/labelFee" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="5" 
    android:text="@+id/label" 
    > 
</TextView> 
</LinearLayout> 

回答

1

如果所有的TextView標籤設置android:layout_width="0dp",然後將意見將完全按權重有寬度,不論其實際內容。

+0

完美,謝謝! – KickingLettuce

0

嘗試使用RelativeLayout的,它的功能更強大,更高效:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="40dp" 
android:background="@color/row_selector" 
android:paddingLeft="10dp" 
android:paddingRight="5dp" 
android:paddingBottom="10dp" 
android:paddingTop="10dp" > 
<TextView 
    android:id="@+id/labelGas" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:text="@+id/label" 
    android:textColor="#222" 
    > 
</TextView> 
<TextView 
    android:id="@+id/labelDate" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/labelGas" 
    android:layout_alignParentTop="true" 
    android:text="@+id/label" 
    android:textColor="#222" 
    > 
</TextView> 
<TextView 
    android:id="@+id/labelApr" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/labelDate" 
    android:layout_alignParentTop="true" 
    android:text="@+id/label" 
    android:textSize="18dp" > 
</TextView> 
<TextView 
    android:id="@+id/labelFee" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/labelApr" 
    android:layout_alignParentTop="true" 
    android:text="@+id/label" 
    > 
</TextView> 
</RelativeLayout> 
+1

泰德的權利,如果你堅持LinearLayout,你可以使用android:layout_weight =「0.25」到每個文本視圖,這將使他們佔據相同數量的寬度 – fmarton

0
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="40dp" 
    android:background="@color/row_selector" 
    android:paddingLeft="10dp" 
    android:paddingRight="5dp" 
    android:paddingBottom="10dp" 
    android:paddingTop="10dp" > 
<TextView 
    android:id="@+id/labelGas" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="TextView1" 
    android:textColor="#FFFF00"  > 
</TextView> 
<TextView 
    android:id="@+id/labelDate" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="TextView2" 
    android:visibility="invisible" 
    android:textColor="#ffff0000" > 
</TextView> 
<TextView 
    android:id="@+id/labelApr" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="TextView3" 
    android:visibility="invisible" 
    android:textColor="#ff00ff00" > 
</TextView> 
<TextView 
    android:id="@+id/labelFee" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="TextView4" 
    android:textColor="#ffff6666" > 
</TextView> 
</LinearLayout>