0

我正在尝试创建一个带有 2 个按钮的搜索栏。如下图所示在此处输入图像描述

这是我的布局文件

 <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>

问题是三角形位于中间......它覆盖了搜索名称......我怎样才能实现与图像中的完全相同......任何帮助表示赞赏。

4

2 回答 2

0

在adnroid中已经有searchView了,见:http: //developer.android.com/reference/android/widget/SearchView.html

您不必自己重新实现它。

于 2013-01-23T15:39:16.227 回答
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到layout_search你必须设置一个看起来像editext的背景和你的edittext设置背景android:颜色/透明。这样,您的相对布局将看起来像 editext。

于 2013-01-23T16:27:06.830 回答