【发布时间】:2015-03-29 18:45:48
【问题描述】:
我创建了这个表单:
编写此 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 布局不是那么专业... :(
【问题讨论】:
-
一个快速的hack,就是添加一个TextView,就像你对其他人所做的一样,并设置没有文本的TextView。或任何观点。
-
我是这样做的,但我正在寻找更好的解决方案:)
-
@smartmouse 如果您对 Carnal 提供的解决方案不满意,那么我认为最好使用表格布局来设计此 UI
-
我解决了 Phonbopit 发布的解决方案。还是谢谢你。
标签: android xml layout android-edittext android-linearlayout