1

我会将两个表格布局放在一个Linearlayout. 但是使用我的代码,我只能看到一张桌子。那是代码:

<LinearLayout 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"
tools:context=".MainActivity" >

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:stretchColumns="1" >

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" >

        <TextView
            android:id="@+text_view/tw_nome"
            android:text="@string/tw_nome" />

        <EditText
            android:id="@+edit_text/et_nome"
            android:hint="@string/et_nome"
            android:imeOptions="actionNext"
            android:singleLine="true" />
    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" >

        <TextView
            android:id="@+text_view/tw_cognome"
            android:text="@string/tw_cognome" />

        <EditText
            android:id="@+edit_text/et_cognome"
            android:hint="@string/et_cognome"
            android:imeOptions="actionDone"
            android:singleLine="true" />
    </TableRow>
</TableLayout>

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center" >

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" >

        <TextView
            android:id="@+text_view/tw_sesso"
            android:text="@string/tw_sesso" />

        <RadioGroup
            android:id="@+radio_group/rg"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@+radio_button/button_m"
                android:text="@string/button_m" />

            <RadioButton
                android:id="@+radio_button/button_f"
                android:text="@string/button_f" />
        </RadioGroup>
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <Button
            android:id="@+button/button_salva"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/button_salva" />

        <Button
            android:id="@+button/button_annulla"
            android:text="@string/button_annulla" />
    </TableRow>
</TableLayout>

怎么了?

4

3 回答 3

4

并排还是垂直?

如果您正在寻找并排,请尝试layout_weight。还要注意layout_width.

<LinearLayout 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:orientation="horizontal"
    tools:context=".MainActivity" >

    <TableLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:stretchColumns="1" >
            <!-- rows -->
    </TableLayout>

    <TableLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:stretchColumns="1" >
            <!-- rows -->
    </TableLayout>
</LinearLayout>

更新从评论中被问到为什么layout_width应该设置为0dp.

设置0dp是您使用时的优化layout_weight。将宽度设置为0dp告诉布局忽略layout_heightlayout_weight改用它,在这种情况下,它为每个TableLayout.

我实际上问了同样的问题并得到了一些有用的答案,如果它有帮助为什么 0dp 被认为是性能增强?

于 2013-02-18T21:55:26.610 回答
2

表格布局的宽度和高度都定义为match_parent,因此它们占用与父级相同的空间。父项中没有足够的空间让两个子项以与父项相同的大小显示。

如何解决这个问题取决于父 LinearLayout 的方向。

于 2013-02-18T21:53:36.617 回答
1

将 LinearLayout 放入:

<ScrollView/>    </ScrollView>
于 2013-02-19T00:40:07.367 回答