4

我在 tableRow 中有一个 linearLayout,这个 linearLayout 包含一个我想为我的应用程序显示的图表。我读了一些线程说 tableRow 的孩子不需要指定它的宽度和高度,所以我做到了,但图表没有显示。如果我将linearLayout指定为width=fill_parent和height=200dp,那么linearlyLayout只填充了tableRow的1/3。

<?xml version="1.0" encoding="UTF-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

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

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center_horizontal" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Record"
                android:textSize="18dp"
                android:textStyle="bold"
                android:typeface="serif" >
            </TextView>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center_horizontal" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.3"
                android:text="Name:"
                android:textStyle="bold"
                android:typeface="serif" >
            </TextView>

            <EditText
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.7"
                android:ems="10"
                android:singleLine="true" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center_horizontal" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.3"
                android:text="Date:"
                android:textStyle="bold"
                android:typeface="serif" >
            </TextView>

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


        <TableRow
            android:id="@+id/tableRow9"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <LinearLayout
                android:id="@+id/soundaomplitude_graphViewLinearLayout"
                android:paddingTop="4dip" >    //if I specify nothing then nothing is displayed, if I set width = fill_parent and height = 200dp, then only 1/3 of the space is occupied

            </LinearLayout>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow10"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <Button
                android:id="@+id/saveEditRecord"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:text="Save" />

            <Button
                android:id="@+id/deleteEditRecord"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:text="Delete" />

            <Button
                android:id="@+id/cancelEditRecord"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:layout_weight=".3"
                android:text="Cancel" />
        </TableRow>
    </TableLayout>

</ScrollView>
4

3 回答 3

14

我发现只是为 linearLayout 设置 weight = 1(或任何数字)

<LinearLayout
                android:id="@+id/soundaomplitude_graphViewLinearLayout"
                android:layout_width="0dp"
                android:layout_height="200dp"
                android:layout_weight="1"
                android:paddingTop="4dip" />
于 2012-08-07T01:19:10.000 回答
1

似乎 TableRow 充当 LinearLayout,因此在 TableRow 内嵌套一个似乎是多余的。它说,在 Eclipse 中,它也是“无用的”。因此,您可以直接在 TableRow 中包含您的视图(任何视图),而不是 LinearLayout。如果它没有显示,那么,可能还有其他一些问题。

于 2012-08-06T22:21:35.583 回答
-1

再次阅读 TableLayout 如何管理其内容。特别注意,它忽略了子视图的 layout_width。

于 2012-08-06T22:34:29.410 回答