将元素放在多行EditText下面

时间:2017-08-30 14:12:45

标签: android layout

我有一个数据列表显示为,一个在另一个之下: 詹姆斯 电话032-432-4556 街道1号线          第2行          等等 发送电子邮件至me@my.com

最合乎逻辑的(我猜)是将电子邮件定位在街道下方,因为edittext的长度是变量,并且左边与之前的文本视图对齐。无论我尝试过哪种布局参数组合,“电子邮件”仍然立即位于“街道”标签下方。即使是保证金也没有得到尊重。谁知道布局参数的正确组合并提到项目?

这是我的布局,屏幕下方显示:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".DisplayContact" >

<RelativeLayout
    android:id="@+id/oneContact"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">

    <TextView
        android:id="@+id/textTextName"
        .............
    <EditText
        android:id="@+id/editTextName"
        .............
    </EditText>
    <TextView
        android:id="@+id/textTextPhone"
        .............
    <EditText
        android:id="@+id/editTextPhone"
        .............

    <TextView
        android:id="@+id/textTextStreet"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/textTextPhone"
        android:layout_alignLeft="@id/textTextName"
        android:layout_alignStart="@id/textTextName"
        android:layout_marginTop="@dimen/field_vertical_margin"
        android:text="@string/street"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/editTextStreet"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@id/textTextStreet"
        android:layout_alignLeft="@id/editTextName"
        android:layout_alignStart="@id/editTextName"
        android:ems="10"
        android:inputType="textMultiLine" />

    <TextView
        android:id="@+id/textTextEmail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/editTextStreet"
        android:layout_alignLeft="@id/textTextName"
        android:layout_alignStart="@id/textTextName"
        android:layout_marginTop="@dimen/field_vertical_margin"
        android:text="@string/email"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/editTextEmail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@id/textTextEmail"
        android:layout_alignLeft="@id/editTextName"
        android:layout_alignStart="@id/editTextName"
        android:ems="10"
        android:inputType="textEmailAddress" />

    <TextView
        android:id="@+id/textTextCity"
        .............
    <EditText
        android:id="@+id/editTextCity"
        .............
</RelativeLayout>

Screen

1 个答案:

答案 0 :(得分:0)

我建议使用垂直LinearLayout作为根,而不是RelativeLayout,并按照此处所述创建布局Android: creating two columns in a linearlayout

您也可以尝试使用表格https://developer.android.com/guide/topics/ui/layout/grid.html