我希望在我的布局中并排显示EditText
和Button
并且它们之间有一个小空格(边距)。我不想设置一个固定的大小(我认为这是一个坏习惯)。
怎么做?
我的尝试:
<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>
答案 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>