表格布局列间距

时间:2013-06-27 04:01:05

标签: android android-layout

我正在尝试格式化我的tablelayout,但我似乎并没有让事情变得更好。 我有4列,我需要它们尽可能地间隔。我认为真正有3列宽度相同,最后一列占据剩下的空间。最后一列可以包含在2行或更多行中,但前3列必须是单行而不是截断。这是我的代码

 <TableLayout android:id="@+id/tlMylayout" android:layout_width="fill_parent" android:layout_height="wrap_content" 
         android:stretchColumns="*"  android:shrinkColumns="*" >
        <TableRow android:layout_width="fill_parent" android:layout_height="wrap_content">

            <TextView android:gravity="center" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/showtext_style" android:text="col1"  />            
            <TextView android:gravity="center" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/showtext_style" android:text="col2"  />
            <TextView android:gravity="center" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/showtext_style" android:text="col3"  />            
            <TextView android:gravity="center" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/showtext_style" android:text="lastCol"  />
        </TableRow>
        <TableRow  android:layout_width="fill_parent" android:layout_height="wrap_content">

            <TextView android:gravity="center" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"android:text="2011-01-01 14:59"  />          
             <TextView android:gravity="center" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:text="50"  />
            <TextView android:gravity="center" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:text="0.57"  />           
            <TextView android:gravity="center" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="this is the last one and can be very long string if I want it to be"  />

        </TableRow>


    </TableLayout>

1 个答案:

答案 0 :(得分:3)

尝试

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tlMylayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:shrinkColumns="*"
android:stretchColumns="*" >

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

    <TextView
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:gravity="center"
        android:text="col1" />

    <TextView
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:gravity="center"
        android:text="col2" />

    <TextView
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:gravity="center"
        android:text="col3" />

    <TextView
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:gravity="center"
        android:text="lastCol" />
</TableRow>

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

    <TextView
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:gravity="center"
        android:text="2011-01-01 14:59" />

    <TextView
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:gravity="center"
        android:singleLine="true"
        android:text="50" />

    <TextView
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:gravity="center"
        android:singleLine="true"
        android:text="0.57" />

    <TextView
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:gravity="center"
        android:text="this is the last one and can be very long string if I want it to be" />
</TableRow>

我删除了layout_gravity并将layout_weight添加到TextView