Search button
の横にEdittext
が必要です。 EditText
は可能な限り幅いっぱいに、ボタンは右側に、テキストを表示するのに十分な大きさである必要があります。
次のようになります。
[EDIT TEXT][Search]
ただし、次のようになります。
[.......EDIT TEXT.......][Search]
XML
は次のとおりです。
<RelativeLayout Android:id="@+id/RelativeLayout01" Android:layout_width="fill_parent" Android:layout_height="wrap_content">
<EditText Android:id="@+id/search_box"
Android:layout_alignParentLeft="true"
Android:layout_centerVertical="true"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:hint="type to filter"
Android:inputType="text"
Android:maxLines="1" />
<Button Android:id="@+id/search_text"
Android:layout_toRightOf="@id/search_box"
Android:text="Search"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"/>
</RelativeLayout>
相対レイアウトである必要がありますか?
以下をお勧めします:set EditText
layout_width
からfill_parent
とそのlayout_weight
〜1、次のようなもの:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_height="wrap_content" Android:orientation="horizontal"
Android:layout_width="fill_parent">
<EditText Android:text="@+id/EditText01"
Android:id="@+id/EditText01"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:layout_width="fill_parent">
</EditText>
<Button Android:text="@+id/Button01"
Android:id="@+id/Button01"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
</Button>
</LinearLayout>
その場合、EditText
の幅はfill_parent
ではなくwrap_content
に設定する必要があります。
<RelativeLayout Android:id="@+id/RelativeLayout01" Android:layout_width="fill_parent" Android:layout_height="wrap_content">
<EditText Android:id="@+id/search_box"
Android:layout_alignParentLeft="true"
Android:layout_centerVertical="true"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="type to filter"
Android:inputType="text"
Android:maxLines="1" />
<Button Android:id="@+id/search_text"
Android:layout_toRightOf="@id/search_box"
Android:text="Search"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"/>
</RelativeLayout>
あなたが言ったように、それはボタンを隠します。次に、順序を逆にします。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
Android:id="@+id/RelativeLayout01" Android:layout_width="fill_parent"
Android:layout_height="wrap_content">
<Button Android:id="@+id/search_text"
Android:layout_alignParentRight="true"
Android:text="Search"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"/>
<EditText Android:id="@+id/search_box"
Android:layout_alignParentLeft="true"
Android:layout_toLeftOf="@id/search_text"
Android:layout_centerVertical="true"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="type to filter"
Android:inputType="text"
Android:maxLines="1" />
</RelativeLayout>
Cristianの答えはそれ以降のバージョンのSDKでも機能すると思いますが、以前のバージョンでは、最初にButtonを定義し、EditTextをlayout_toLeftOf = "@ id/search_box"に配置する必要があります。オブジェクトには異なるIDが必要です。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/relative_layout"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
>
<Button
Android:id="@+id/search_button"
Android:text="Search"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true"
/>
<EditText
Android:id="@+id/search_text"
Android:layout_toLeftOf="@+id/search_button"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="type to filter"
Android:inputType="text"
Android:maxLines="1"
/>
</RelativeLayout>
これを試してみて、少し修正しました。編集テキストの右にボタンが表示され、編集テキストの幅を増やすことができます。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:padding="10dip">
<TextView
Android:id="@+id/label"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="instructions"/>
<EditText
Android:id="@+id/entry"
Android:layout_width="250dip"
Android:layout_height="wrap_content"
Android:background="@Android:drawable/editbox_background"
Android:layout_below="@id/label"/>
<Button
Android:id="@+id/ok"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignRight="@id/entry"
Android:layout_alignParentRight="true"
Android:layout_marginLeft="1dip"
Android:text="ok" />
</RelativeLayout>