0

这是一个简单RelativeLayout的 4 个控件以表格格式排列。显示时,confirmpassword框在底部被剪裁。好像“ wrap_content”没有正确计算孩子们的身高。有任何想法吗?

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >  
    <TextView
        android:id="@+id/passwordlabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="34dp"
        android:text="Password"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@id/passwordlabel"
        android:layout_alignLeft="@+id/confirmpassword"
        android:layout_toRightOf="@id/passwordlabel"
        android:ems="10"
        android:inputType="textPassword" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/confirmpasslabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/passwordlabel"
        android:layout_below="@id/passwordlabel"
        android:text="Confirm Password"
        android:layout_marginTop="34dp"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/confirmpassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@id/confirmpasslabel"
        android:layout_toRightOf="@id/confirmpasslabel"
        android:layout_marginLeft="15dp"
        android:ems="10"
        android:inputType="textPassword" />
</RelativeLayout>

这是它的样子:

模拟器中的相对布局

我已经尝试向两个底部控件添加填充和/或边距,但没有任何效果(无论如何都让我觉得是个黑客)。

注意:-我有一个类似的问题,在此之前,一个善良的灵魂通过拆分 RelativeLayout 基本上解决了这个问题。我认为这里不可能(它可能),但我担心我要么做错了什么,要么RelativeLayout有一个似乎没有充分记录的巨大错误。

任何人都能够阐明这一点?蒂亚!

4

1 回答 1

1

这似乎有点像一个错误。我无法让它正常工作(不以某种方式改变它)与RelativeLayout- 有边缘的东西把它扔掉了。

作为一种解决方法,请尝试TableLayout

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

    <TableRow android:layout_marginTop="34dp">

        <TextView
            android:id="@+id/passwordlabel"
            android:text="Password"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/password"
            android:ems="10"
            android:inputType="textPassword" >

            <requestFocus />
        </EditText>

    </TableRow>

    <TableRow android:layout_marginTop="34dp">

        <TextView
            android:id="@+id/confirmpasslabel"
            android:text="Confirm Password"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/confirmpassword"
            android:layout_marginLeft="15dp"
            android:ems="10"
            android:inputType="textPassword" />

    </TableRow>

</TableLayout>
于 2013-07-03T13:08:32.553 回答