我创建了这个表单:
编写此XML布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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" >
<LinearLayout
android:id="@+id/fields"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp">
<LinearLayout
android:id="@+id/layoutCountry"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/textCountry"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="18sp"
android:text="@string/text_country"
android:textColor="@color/black" />
<Spinner
android:id="@+id/spinnerCountry"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1.5"
android:textSize="18sp"
android:inputType="text"
android:textColor="@color/black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText
android:id="@+id/editCustom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:inputType="text"
android:textColor="@color/black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/city"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="18sp"
android:text="@string/text_city"
android:textColor="@color/black" />
<EditText
android:id="@+id/editCity"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:textSize="18sp"
android:inputType="text"
android:textColor="@color/black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/postal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="18sp"
android:text="@string/text_postal"
android:textColor="@color/black" />
<EditText
android:id="@+id/editPostal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:textSize="18sp"
android:inputType="text"
android:textColor="@color/black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/textAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="18sp"
android:text="@string/text_address"
android:textColor="@color/black" />
<EditText
android:id="@+id/editAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:textSize="18sp"
android:inputType="text"
android:textColor="@color/black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/textTel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="18sp"
android:text="@string/text_tel"
android:textColor="@color/black" />
<EditText
android:id="@+id/editTel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:textSize="18sp"
android:inputType="text"
android:textColor="@color/black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/textEmail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="18sp"
android:text="@string/email"
android:textColor="@color/black" />
<EditText
android:id="@+id/editEmail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:textSize="18sp"
android:inputType="textEmailAddress"
android:textColor="@color/black" />
</LinearLayout>
</LinearLayout>
</ScrollView>
正如您所看到的,第二个EditText太长了,我会将其与其他字段对齐,如下所示:
我尝试在那里使用RelativeLayout并使用LinearLayout进行一些更改,但我变得疯狂,因为我无法达到我的目的。 我对XML布局并不那么专业...... :(
答案 0 :(得分:1)
我只编辑了第二个LinearLayout
问题,这是解决方案:
EditText
中,您必须将layout_weight="1.5"
设置为与其他android:layout_width="0dp"
EditText
的父视图中,LinearLayout
设置android:weightSum=2.5"
(1 + 1.5)将android:gravity="right"
设为LinearLayout
Fin!
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="2.5"
android:gravity="right"
android:orientation="horizontal">
<EditText
android:id="@+id/editCustom"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="18sp"
android:inputType="text"
android:layout_weight="1.5"
android:textColor="@color/black" />
</LinearLayout>
答案 1 :(得分:1)
通过
替换第二个EditText的代码 <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/textCountry"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="" />
<EditText
android:id="@+id/editCustom"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:inputType="text"
android:textColor="@color/black"
android:textSize="18sp" />
</LinearLayout>
你可以添加空的Textview并为你实现它们定义合适的权重。并确保当你为任何视图定义layout_weight定义宽度为android:layout_width =“0dp”
答案 2 :(得分:0)
尝试使用TableLAyout
答案 3 :(得分:0)
尝试将重力设置为右,然后设置一些边距。可能做你想要的。大多数时候我更喜欢使用RelativeLayouts,因为它们更容易操作。
答案 4 :(得分:0)
在EditText的父级LinearLayout视图中有以下内容:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alignLeft="@id/spinnerCountry"
android:orientation="horizontal">
这会将整个LinearLayout的左侧与Spinner的左侧对齐。