Android:按钮放在edittext上

时间:2013-01-23 15:37:04

标签: android

Iam尝试创建一个带有2个按钮的搜索栏......位于图片enter image description here

下方

这是我的布局文件

 <LinearLayout
            android:id="@+id/searchlayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/iconskin"
            android:gravity="right|center_vertical"
            android:orientation="horizontal"
            android:layout_weight="1"
            android:padding="2dp" 
            android:visibility="gone">



            <EditText
                android:id="@+id/searchname"
                style="@style/customsearchfont"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:background="#9fc5f9"
                android:focusable="false"
                android:gravity="left|center_vertical"
                android:hint="@string/searchkeyword"
                android:inputType="textCapSentences"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:singleLine="true"
                android:textColorHint="#FFFFFF" />

             <Button
                android:id="@+id/closesearch"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_gravity="left"
                android:layout_marginRight="90dp"
                android:visibility="gone"
                android:background="@drawable/closesearch"/>

            <Button
                android:id="@+id/go"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_gravity="center"
                android:background="@drawable/search"/>
        </LinearLayout>

问题是三角形位于中间..覆盖搜索名称...如何在图像中实现精确...任何帮助都表示赞赏。

2 个答案:

答案 0 :(得分:0)

android中已有searchView,请参阅:http://developer.android.com/reference/android/widget/SearchView.html

您不必自己重新实现它。

答案 1 :(得分:0)

做类似的事情:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/layout_search"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@drawable/action_bar_background" >

<EditText
    android:id="@+id/search_bar"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:singleLine="true"
    android:inputType="text"
    android:textColorHint="#FFFFFF"
    android:hint="@string/search"
    android:gravity="bottom"
    android:layout_toLeftOf="@+id/search_btn"
    android:layout_toRightOf="@+id/cancel_search_btn" />

<ImageButton
    android:id="@+id/search_btn"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:src="@drawable/ic_action_search"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:background="@drawable/ic_actionbar_drawable_bg"
    android:contentDescription="@string/app_name"
    android:paddingLeft="5dp"
    android:paddingRight="5dp" />

<ImageButton
    android:id="@+id/cancel_search_btn"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:contentDescription="@string/app_name"
    android:background="@drawable/ic_actionbar_drawable_bg"
    android:src="@drawable/ic_actionbar_cancel"
    android:paddingLeft="5dp"
    android:paddingRight="5dp" />


</RelativeLayout>

android to layout_search你必须设置一个看起来像editext的背景和你的edittext设置背景android:color / transparent。通过这种方式,您的相对布局将类似于editext。