将列表视图的列表项对齐为4列

时间:2014-06-27 13:35:20

标签: android xml android-layout

我有这个xml我为每个列我想要一个表格布局和一个表格行,但我不能对齐我试过的列:android:layout_weight但是ids以正确的方式可以帮助我。

输出例如:

xxxxxx 11111 11111 11111

xml;

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
 >


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




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

    >

        <TableRow>

            <TextView
                android:id="@+id/id"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" />

            <TextView
                android:id="@+id/id_instit"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" />

            <TextView
                android:id="@+id/descricao"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:paddingLeft="6dip"
                android:paddingTop="6dip"
                android:textSize="17dip"
                android:textStyle="bold" 

                />
        </TableRow>
    </TableLayout>





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

     >

        <TableRow>

            <TextView
                android:id="@+id/data"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:paddingLeft="6dip"
                android:paddingTop="6dip"
                android:textSize="17dip"
                android:textStyle="bold" />
        </TableRow>
    </TableLayout>




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

        <TableRow>

            <TextView
                android:id="@+id/data2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:paddingLeft="6dip"
                android:paddingTop="6dip"
                android:textSize="17dip"
                android:textStyle="bold" />
        </TableRow>
    </TableLayout>




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


        <TableRow>

            <TextView
                android:id="@+id/qtd"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:paddingLeft="6dip"
                android:paddingTop="6dip"
                android:textSize="17dip"
                android:textStyle="bold" />
        </TableRow>
    </TableLayout>




    </TableRow>


 </TableLayout>

3 个答案:

答案 0 :(得分:0)

希望这会对你有帮助......

 <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/tableLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:shrinkColumns="*"
        android:stretchColumns="*" >
    <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_span="4"
                android:gravity="center"
                android:text="My Report view"
                android:textSize="18dp"
                android:textStyle="bold" >
            </TextView>
        </TableRow>
    <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/TextView2"
                android:text="" >
            </TextView>

            <TextView
                android:id="@+id/TextView2"
                android:gravity="center"
                android:text="M"
                android:textStyle="bold"
                android:typeface="serif" >
            </TextView>

            <TextView
                android:id="@+id/TextView3"
                android:gravity="center"
                android:text="T"
                android:textStyle="bold"
                android:typeface="serif" >
            </TextView>

            <TextView
                android:id="@+id/TextView4"
                android:gravity="center"
                android:text="W"
                android:textStyle="bold"
                android:typeface="serif" >
            </TextView>

            <TextView
                android:id="@+id/TextView5"
                android:gravity="center"
                android:text="T"
                android:textStyle="bold"
                android:typeface="serif" >
            </TextView>

            <TextView
                android:id="@+id/textView6"
                android:gravity="center"
                android:text="F"
                android:textStyle="bold"
                android:typeface="serif" >
            </TextView>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView7"
                android:text="Day High"
                android:textStyle="bold" >
            </TextView>

            <TextView
                android:id="@+id/textView8"
                android:gravity="center_horizontal"
                android:text="xxxxx" >
            </TextView>

            <TextView
                android:id="@+id/textView9"
                android:gravity="center_horizontal"
                android:text="11111" >
            </TextView>

            <TextView
                android:id="@+id/textView10"
                android:gravity="center_horizontal"
                android:text="34°C" >
            </TextView>

            <TextView
                android:id="@+id/textView11"
                android:gravity="center_horizontal"
                android:text="11111" >
            </TextView>

            <TextView
                android:id="@+id/textView12"
                android:gravity="center_horizontal"
                android:text="11111" >
            </TextView>
        </TableRow>
    </TableLayout>

答案 1 :(得分:0)

对于上一个答案,如果这是你的问题,请使用android:strechColumns =“index_of_your_column”来解决它。

答案 2 :(得分:0)

当您使用TableLayout时,列的宽度是表中所有行中最大元素的宽度。

这是代码的例子

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

<TableLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TableRow 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="text1"/>
        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="text2"/>
    </TableRow>
    <TableRow 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="text3"/>
        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="text4"/>
    </TableRow>
</TableLayout>

注意剩余的未使用宽度分布在最后一列上。如果你想在所有列中平均分配剩余的未使用空间,请在TableLayout声明中使用 android:strechColumns =&#34; *&#34;