如何为我的应用程序创建自定义搜索框?

时间:2012-04-07 13:03:37

标签: android android-edittext customization search-box

如何为我的Android应用程序制作自定义搜索框?像这样的东西,例如: enter image description here

如果很难,是否可以在本地应用中使用Android SearchManager

enter image description here

3 个答案:

答案 0 :(得分:2)

正如bughi所说,为您的小部件使用自定义背景9-patch drawables。 第二个图像由彼此相邻放置的EditText和ImageButton组成。 对于ImageButton background drawable for EditText,可以像这样使用9-patch drawable for EditText background drawable for ImageButton和9-patch drawable。 当然,将窗口小部件状态的选择器用作android:background正常,按下并聚焦。

也可以使用属性android:drawableRight来实现第一张图像。 窗口小部件的Overriden onTouchEvent()方法可能如下所示:

public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_UP && event.getX() >= getWidth() - getCompoundPaddingRight()) {
        // search drawable was touched
    }
    ...
}

答案 1 :(得分:1)

只使用您自己的图片作为背景而不是默认图片。

对于EditText视图,我建议调查9-patch,以便能够在任何屏幕上顺畅调整大小。

答案 2 :(得分:1)

对于背景,我认为使用这样的可绘制形状更容易:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners android:radius="10dp" />

    <solid android:color="@android:color/white" />

    <padding 
        android:left="8dp"
        android:right="8dp"
        android:top="8dp"
        android:bottom="8dp" />

</shape>

半径为背景提供圆角边框,可以轻松调整,更改填充的大小也是如此。