当 EditText 和 Button 控件放在同一行时,我正在尝试创建一种“Buttoned Edit”控件。我使用了一个简单的线性布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editTextFileName"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:hint="Database file name"
android:inputType="textUri" />
<Button
android:id="@+id/buttonFileSelect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="46dip"
android:text="..." />
</LinearLayout>
问题是编辑框和按钮未在同一“顶线”上对齐:
仔细看看:
在不同的模拟器上,我得到不同的间距。
如何使 EditText 和 Button 始终在背线上对齐?
解决方案(感谢@steevoo 和@Mohamed_AbdAllah):
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/buttonFileSelect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="46dip"
android:layout_alignParentRight="true"
android:text="..." />
<EditText
android:id="@+id/editTextFileName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:layout_toLeftOf="@id/buttonFileSelect"
android:layout_alignTop="@id/buttonFileSelect"
android:hint="Database file name"
android:inputType="textUri" />
</RelativeLayout>