如何将两个EditText放在同一行中

12
我想问你,如何将两个EditText放在同一行?

在同一行中...确切指的是什么?一个列表视图,网格视图,还是一个简单的基本视图? - Kheldar
4个回答

22

试试这个:

<LinearLayout android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <EditText android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>
    <EditText android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>
</LinearLayout>

此外,如果您得到了回答您问题的答案,建议接受该答案。这样做可以增加获得更多或更好响应的可能性。


5

有多种方法,这里介绍其中两种。

使用水平LinearLayout

android:orientation="horizontal"赋值给外部的LinearLayout。这样,该布局的所有子元素都将排列在一起。

示例布局:

<LinearLayout android:orientation="horizontal"> 
    <EditText />
    <EditText />
</LinearLayout>

使用RelativeLayout

使用android:layout_toLeftOf="@id/otheredittext"android:layout_toRightOf="@id/.."来告诉其中一个EditText它属于另一个EditText的右侧或左侧,并使用android:layout_alignParentTop="true"相对于父元素(RelativeLayout)对齐第一个EditText,同样适用于左侧、右侧或底部。

半布局:

<RelativeLayout>
    <EditText android:layout_alignParentLeft="true"
              android:layout_alignParentTop="true"
              android:id="@+id/edittext1"
              />
    <EditText android:layout_toRightOf="@id/edittext1" />
</RelativeLayout>

(还要注意,当您第一次在android:id中指定id并通过android:layout_to...从布局引用它时,您有一个+id,但实际使用时只需写id


1

对于线性布局,它将如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">
<EditText android:id="@+id/editText1" android:layout_height="wrap_content" android:layout_width="100dip">
    <requestFocus></requestFocus>
</EditText>
<EditText android:layout_height="wrap_content" android:id="@+id/editText2" android:layout_width="100dip"></EditText>
</LinearLayout>

对于相对布局,它将会是这样的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText android:id="@+id/editText1" android:layout_height="wrap_content" android:layout_width="100dip">
    <requestFocus></requestFocus>
</EditText>
<EditText android:layout_height="wrap_content" android:layout_width="100dip" android:id="@+id/editText2" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"></EditText>
</RelativeLayout>

0
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/username_id"
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:gravity="center"
            app:shapeAppearance="@style/Rounded">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/username"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="User Name"
                android:maxLines="1" />
        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:gravity="center"
            app:shapeAppearance="@style/Rounded"
            android:layout_toRightOf="@+id/username_id">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/password_id"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Password"
                android:maxLines="1" />
        </com.google.android.material.textfield.TextInputLayout>
</RelativeLayout>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接