How to change ActionBar's SearchView style using xml?

时间:2018-08-22 13:52:48

标签: android xml android-styles

I've tried the Android documentation method and some answers from StackOverflow. Actually, it works well when I use SearchView, not in ActionBar menu. Here is code.

styles.xml

<style name="AppTheme.SearchView" parent="Widget.AppCompat.SearchView">
    <item name="searchIcon">@drawable/ic_icon_1</item>
    <item name="closeIcon">@drawable/ic_icon_2</item>
</style>

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="searchViewStyle">@style/AppTheme.SearchView</item>
</style>

my_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/item_search"
        android:title="@string/search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always"/>
</menu>

I also tried to set searchViewStyle field in ActionBar's style but again no result.

1 个答案:

答案 0 :(得分:0)

我建议您看看我在此处给出的用来设置自己的SearchBar样式的答案。

我不知道原因,但无法为Google的默认SearchBar设置样式,因此必须创建自己的Search bar。

这是我的做法:

Android上的样式搜索视图(min21)- Styling Search View on Android (min21)

如果您想实现InstantSearch算法,请遵循这位出色的作者及其项目(查看接受的答案):

如何使用SearchView过滤RecyclerView- How to filter a RecyclerView with a SearchView

如果您需要进一步的帮助,请发表评论。如果答案有帮助,也可以提高我的答案:P

更新:这是Google对搜索视图的实现,只是为了向您提供更多信息:https://developer.android.com/guide/topics/search/search-dialog.html

祝你有美好的一天:)