2

当 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>
4

1 回答 1

2

尝试使用 aRelativeLayout代替并使用来对齐和android:layout_alignTop的顶部。此外,您可以给它们相同的固定高度(46dip),但这可能会导致文本在ButtonEditTextEditText

于 2013-01-14T09:30:23.710 回答