我想问你,如何将两个
EditText
放在同一行?EditText
放在同一行?试试这个:
<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>
此外,如果您得到了回答您问题的答案,建议接受该答案。这样做可以增加获得更多或更好响应的可能性。
有多种方法,这里介绍其中两种。
使用水平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
)
对于线性布局,它将如下所示:
<?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>
<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>