我希望在屏幕的右侧有一个按钮,以及一个可以在按钮左侧占据所有位置的编辑文本。我该怎么办?
此xml打印屏幕左侧的按钮,但之前没有任何内容:/
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/index_bouton_recherche"
android:layout_width="45px"
android:layout_height="45px"
android:background="@drawable/loupe"
/>
<EditText
android:id="@+id/index_champs_recherche"
android:layout_width ="fill_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_toLeftOf="@id/index_bouton_recherche"
/>
答案 0 :(得分:1)
试试这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/index_bouton_recherche"
android:layout_width="45px"
android:layout_height="45px"
android:background="@drawable/loupe"
/>
<EditText
android:id="@+id/index_champs_recherche"
android:layout_width ="fill_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_toLeftOf="@id/index_bouton_recherche"
android:layout_weight="1"
/>
</LinearLayout>
答案 1 :(得分:1)
当我必须这样做时,我使用LinearLayout
和layout_weight
xml属性。
这个XML可以解决你的问题:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:id="@+id/index_champs_recherche"
android:layout_width ="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:maxLines="1"
/>
<Button
android:id="@+id/index_bouton_recherche"
android:layout_width="45px"
android:layout_height="45px"
android:background="@drawable/loupe"
/>
</LinearLayout>
layout_width="0dp"
表示最初视图不需要任何空间。 Button是wrap_content
,所以它只需要它的空间。
之后应用layout_weight
属性,它共享布局上的剩余空间(方向的宽度=水平,垂直的高度)。默认视图权重为0,因此对于1,EditText将占用剩余空间的100%。