如何使用我自己的自定义EditText布局作为searchView

时间:2014-01-18 23:34:51

标签: android android-actionbar customization styling searchview

我刚开始使用ActionBar,一切都与搜索框完全分开。我现在想要使用SearchView,但发现它很难自定义,有没有办法使用我现有的基于EditText的布局代替可扩展的SearchView

enter image description here

最上面一个是新SearchView,底部是我想要使用的旧版本,我并不担心像自动完成这样的额外内容。

我已经在google上查了一段时间但找不到任何解决方案,我的菜单XML看起来是这样的:

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

    <item android:id="@+id/btnSearch"
          android:title="Search"
          android:icon="@drawable/ic_action_search"
          android:showAsAction="always|collapseActionView"
          android:actionViewClass="android.widget.SearchView"
          android:queryHint="blah blah"/>

...

</menu>

我发现通过使用一些难看的反射代码,我可以让底线看起来与我的旧搜索框类似,但是它仍然看起来不正确,填充等都是错误的。我不想要任何反思,我只想使用旧的布局。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我写了这个课来帮助SearchView自定义:

https://gist.github.com/jaredrummler/c408c9d897fd92d5d116

onCreateOptionsMenu

中对菜单进行充气后,您可以执行以下操作
SearchViewStyle.on(menu, R.id.your_search_id)
.setSearchPlateDrawableId(R.drawable.your_edit_text);