EditText和Button并排

时间:2014-07-10 18:32:45

标签: android android-layout user-interface

我希望在我的布局中并排显示EditTextButton并且它们之间有一个小空格(边距)。我不想设置一个固定的大小(我认为这是一个坏习惯)。

怎么做?

我的尝试:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="left"
    android:layout_alignParentLeft="true" />

<Button
    android:id="@+id/btn_search"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_gravity="right" 
    android:text="Search" />
 </RelativeLayout>

3 个答案:

答案 0 :(得分:4)

你正在使用RelativeLayout;但是,您无法在ViewGroup类型中创建灵活的设计。您必须使用LinearLayout

我们使用android:layout_weight="1"android:layout_width="0dp"来创建灵活的控件。调整不同尺寸比例的重量数。

之后,我们在两个控件上使用android:layout_margin,因此每个控件的结果加权大小相等。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <EditText
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_marginRight="8dp" />

    <Button
        android:id="@+id/btn_search"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="Search"
        android:layout_marginLeft="8dp" />
</LinearLayout>

答案 1 :(得分:2)

您可以使用水平方向的线性布局,并按以下方式添加EditText和Button

<LinearLayout
orientation="horizontal"
layoutwidth="match_parent"
layoutheight="wrap_content">

<EditText
layoutwidth="0dp"
layoutheight="wrap"
layout_weight=".8"/>

<Button
layoutwidth="0dp"
layoutheight="wrap"
layout_weight=".2"/>

</LinearLayout>

希望这能解决您的问题。确保根据您的需要更改重量。

谢谢

答案 2 :(得分:1)

使用线性布局并排显示并使用&#39; match_parent&#39;和&#39; wrap_content&#39;适当。

这是一段xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical" >

    <EditText
        android:id="@+id/et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/go"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Go!!" />

</LinearLayout>