0

如何为我的 android 应用程序制作自定义搜索框?像这样的东西,例如: 在此处输入图像描述

或者如果很难,是否可以SearchManager在本地应用程序中使用 Android?

在此处输入图像描述

4

3 回答 3

2

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

第一个图像也可以通过使用属性来实现android:drawableRight。小部件的重写onTouchEvent()方法可能如下所示:

public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_UP && event.getX() >= getWidth() - getCompoundPaddingRight()) {
        // search drawable was touched
    }
    ...
}
于 2012-04-07T14:37:44.803 回答
1

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

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

于 2012-04-07T13:20:05.313 回答
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>

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

于 2014-02-04T01:36:51.043 回答