0

我想在 Android 中构建一个简单的表格布局,但我遇到了一些问题。在第 1 部分:有一些文本视图,所以我想将 TableRow 的高度放在 wrap_content 中。在第 2 部分:同样的事情。

它现在仍然有效,但是:

在第 3 部分:有 2 个列表视图,在第 4 部分有一些按钮。

我想做这样的事情:让第 4 部分的高度来包裹内容,但让第 3 部分填充屏幕上的所有空白空间。

一只忙碌的猫

请给我一个解决方案,因为当我探测第 3 部分时,填充了所有空白空间,直到屏幕底部。现在我尝试了 weight_sum,但我不喜欢它,因为我会让 4'd 行来 wrap_content。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:weightSum="1.0" >

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:weightSum="1.0" >

    <TextView
        android:id="@+id/phone_tab_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:background="@layout/style_right_border"
        android:gravity="center"
        android:singleLine="true"
        android:text="Phone Tab"
        android:textColor="@android:color/white"
        android:textSize="14dp" />

    <TextView
        android:id="@+id/pc_tab_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.7"
        android:gravity="center"
        android:singleLine="true"
        android:text="PC Tab"
        android:textColor="@android:color/white"
        android:textSize="14dp" />
</TableRow>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@layout/style_bottom_border" >

    <TextView
        android:id="@+id/phone_path_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:background="@layout/style_bott_right_border"
        android:gravity="center"
        android:paddingBottom="5dp"
        android:singleLine="true"
        android:text="mnt/sdcard/Movies/dpad/sadas/asda/sda/as"
        android:textColor="@android:color/white"
        android:textSize="8dp" />

    <TextView
        android:id="@+id/pc_path_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.7"
        android:gravity="center"
        android:paddingBottom="5dp"
        android:singleLine="true"
        android:text="mnt/sdcard/Movies/dpad/sadas/asda/sda/as"
        android:textColor="@android:color/white"
        android:textSize="8dp" />
</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="0.9"
    android:weightSum="1.0" >

    <ListView
        android:id="@+id/listview_phone_files"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:background="@layout/style_right_border" />

    <ListView
        android:id="@+id/listview_pc_files"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.7" />
</TableRow>

<TableRow
    android:id="@+id/tableRow4"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="0.1"
    android:background="@layout/style_top_border"
    android:gravity="center"
    android:weightSum="1.0" >

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:text="Button" />

    <ImageButton
        android:id="@+id/button_active_tab_changer"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.4"
        android:background="@android:color/transparent"
        android:onClick="changeActiveTabButton"
        android:src="@drawable/button_change_tab" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:text="Button" />
</TableRow>

4

3 回答 3

1

创建一个 RelativeLayout 作为父级并将 TableLayouts 放在其中。这允许您使用 alignParentBottom 和 alignParentTop 布局参数。

于 2013-05-08T06:40:07.193 回答
1

检查此布局,但请保留您的旧布局文件备份。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/black"
    android:weightSum="1.0" >

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:weightSum="1.0" >

    <TextView
        android:id="@+id/phone_tab_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:gravity="center"
        android:singleLine="true"
        android:text="Phone Tab"
        android:textColor="@android:color/white"
        android:textSize="14dp" />

    <TextView
        android:id="@+id/pc_tab_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.7"
        android:gravity="center"
        android:singleLine="true"
        android:text="PC Tab"
        android:textColor="@android:color/white"
        android:textSize="14dp" />
</TableRow>

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

    <TextView
        android:id="@+id/phone_path_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:gravity="center"
        android:paddingBottom="5dp"
        android:singleLine="true"
        android:text="mnt/sdcard/Movies/dpad/sadas/asda/sda/as"
        android:textColor="@android:color/white"
        android:textSize="8dp" />

    <TextView
        android:id="@+id/pc_path_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.7"
        android:gravity="center"
        android:paddingBottom="5dp"
        android:singleLine="true"
        android:text="mnt/sdcard/Movies/dpad/sadas/asda/sda/as"
        android:textColor="@android:color/white"
        android:textSize="8dp" />
</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="1" >

    <ListView
        android:id="@+id/listview_phone_files"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <ListView
        android:id="@+id/listview_pc_files"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1" />
</TableRow>

<TableRow
    android:id="@+id/tableRow4"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="0.1"
    android:gravity="center"
    android:weightSum="1.0" >

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:text="Button" />

    <ImageButton
        android:id="@+id/button_active_tab_changer"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.4"
        android:background="@android:color/transparent"
        android:onClick="changeActiveTabButton"
        android:src="@android:drawable/ic_delete" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.3"
        android:text="Button" />
</TableRow>
</TableLayout>
于 2013-05-08T06:43:53.097 回答
0

设置为和。tableRow3_ _ 其他可以使用。android:layout_height0android:layout_weight1tableRowsandroid:layout_height="wrap_content"

于 2013-05-08T06:48:07.927 回答