我想在同一行中放置一个 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>
最佳答案
为您的 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>
关于android - 设置Textview + Edittext + Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19868707/