设置Textview + Edittext + Button

Mar*_*orn 1 android button android-layout

我想在同一行放一个TextView,Edittext和一个按钮,但我遇到的问题是按钮未正确对齐到左边,在小屏幕中,edittext填充整个.

小屏幕: 在此输入图像描述

大屏幕: 在此输入图像描述

我的编纂如下:

<LinearLayout
        android:id="@+id/layout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/address_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="@string/address_textview"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/address_edittext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="@string/address_textview_hint"
            android:imeActionLabel="@string/search_button"
            android:imeOptions="actionDone"
            android:inputType="textCapWords"
            android:nextFocusDown="@id/address_edittext"
            android:nextFocusUp="@id/address_edittext"
            android:singleLine="true" />

        <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="right" >
        <Button
            android:id="@+id/go_button"
            android:layout_width="50dp"
            android:layout_height="35dp"
            android:text="Go" />
                </RelativeLayout>

    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

pet*_*tey 6

对EditText应用权重,这样它将占用尽可能多的空间,同时让其他两个元素执行正常的wrap_content.为此,删除相对布局容器,然后将EditText宽度更改为"0dp"并为其赋予layout_weight为"1",如下所示:

<LinearLayout
    android:id="@+id/layout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/address_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/address_textview"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/address_edittext"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:hint="@string/address_textview_hint"
        android:imeActionLabel="@string/search_button"
        android:imeOptions="actionDone"
        android:inputType="textCapWords"
        android:nextFocusDown="@id/address_edittext"
        android:nextFocusUp="@id/address_edittext"
        android:singleLine="true" />

    <Button
        android:id="@+id/go_button"
        android:layout_width="50dp"
        android:layout_height="35dp"
        android:text="Go" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

  • @EvanB除了使用`weight`之外,这个答案完全不同.此外,由于他们只有一分钟的距离,我认为可以安全地假设petey在你的同时发表你的同时也写了完整的代码.让我们都成为朋友 (3认同)