让TableView和ListView占据整个屏幕宽度

时间:2011-12-29 14:27:34

标签: android listview android-layout tableview

我为Android上的布局提供了以下XML

<?xml version="1.0" encoding="utf-8" ?> 

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <!--  Select building row  -->
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <TextView
            style="@style/Default"
            android:layout_width="200px"
            android:text="Gebouw:"/>

        <Spinner
            android:id="@+id/buildingSpinner"
            style="@style/Default"
            android:layout_width="300px"/>

    </TableRow>
    <!--  Select section row -->
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <TextView
            style="@style/Default"
            android:layout_width="200px"
            android:text="Verdieping:"/>

        <Spinner
            android:id="@+id/SectionSpinner"
            style="@style/Default"
            android:layout_width="300px"/>

    </TableRow>
    <!--  Select room row -->
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="300px"
            android:layout_margin="4px"
            android:layout_span="2"
            android:background="#BBBBBB">

                <ListView
                    android:id="@+id/roomsList"
                    style="@style/Default"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="2px"
                    android:background="#EEEEEE"/>

                </LinearLayout>

    </TableRow>
    <!--  Buttons row -->
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/selectedRoomText"
            style="@style/Default"
            android:layout_width="fill_parent"
            android:text=""/>

        <Button
            android:id="@+id/btnCreateChecklistForRoom"
            style="@style/Default"
            android:text="OK"/>

    </TableRow>

</TableLayout>

我正在尝试让TableView和ListView占据屏幕的整个宽度,但我似乎无法让它工作。

也就是说,我还希望ListView在渲染其他元素后占用所有剩余的垂直空间。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

将包含TableRow的{​​{1}}更改为此<:p>

ListView

我没理解为什么你需要<TableRow android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1"> - <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="4px" android:layout_span="2" android:background="#BBBBBB" android:layout_weight="1"> <ListView android:id="@+id/roomsList" style="@style/Default" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="2px" android:background="#EEEEEE"/> </LinearLayout> </TableRow> 内部。可以将属性移动到其父级或子级

来删除它