【问题标题】:change color of left back button of searchview更改searchview左后退按钮的颜色
【发布时间】:2019-06-15 08:40:33
【问题描述】:

我想改变 searchView 中后退按钮的颜色(不是 actionBar 的那个),但是经过大量尝试(自定义 searchView/replace 图标)找不到任何解决方案。左侧的箭头搜索图标应该是白色的,但我无法更改它。 希望有人能帮我这个忙,真的很急!!!

部分源码:

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

<item
    android:id="@+id/search_action_search"
    android:icon="@drawable/icon_search_selector"
    android:title="@string/search_title"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="always|collapseActionView" /></menu>


@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.menu_search, menu);
    final MenuItem searchItem = menu.findItem(R.id.search_action_search);
    SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
    if (searchItem != null) {
        SearchView searchView = (SearchView) searchItem.getActionView();

【问题讨论】:

    标签: android searchview


    【解决方案1】:

    检查您的 styles.xml 以获取基本应用程序主题,通常命名为 AppTheme 并将父主题更改为另一个主题。我曾经和你有同样的问题,黑色的 SearchView 图标和箭头。但是我将父级从 Theme.AppCompat.Light.DarkActionBar 更改为 Theme.AppCompat.NoActionBar 因为我有自己的工具栏作为操作栏,并且 SearchView 图标和箭头变为白色。

    【讨论】:

    • 还有其他方法吗?因为我需要带有不同后退按钮图标的 Light 主题
    • 嗨,即使我也面临同样的问题,请建议任何其他方式..由于更改主题不起作用
    【解决方案2】:

    仍然无法更改颜色,但为了简单地删除箭头,我将 app:showAsAction="always|collapseActionView" 更改为 app:showAsAction="always" 并且它可以工作。

    【讨论】:

    • 但这里还有一个问题:一旦按下返回菜单按钮,软键盘就不会隐藏。有人可以帮忙吗?