Android 更改SearchView上的工具栏颜色/样式单击

Android 更改SearchView上的工具栏颜色/样式单击,android,android-toolbar,Android,Android Toolbar,我有一个简单的问题 单击搜索图标时,如何将工具栏的颜色/或主题更改为白色 每当单击搜索图标时,我希望工具栏是白色的(带有黑色/灰色的后箭头)。我在菜单项中添加了SearcView(android.support.v7.widget.SearchView) 这个 到 然后单击“后退”按钮时返回到原始工具栏颜色。 在活动中/片段代码: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflat

我有一个简单的问题

单击搜索图标时,如何将工具栏的颜色/或主题更改为白色

每当单击搜索图标时,我希望工具栏是白色的(带有黑色/灰色的后箭头)。我在菜单项中添加了SearcView(android.support.v7.widget.SearchView)

这个

然后单击“后退”按钮时返回到原始工具栏颜色。

活动中
/
片段
代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.activity_menu, menu);

    MenuItem searchMenuItem = menu.findItem(R.id.search);
    if (searchMenuItem == null) {
        return true;
    }

    searchView = (SearchView) searchMenuItem.getActionView();
    MenuItemCompat.setOnActionExpandListener(searchMenuItem, new MenuItemCompat.OnActionExpandListener() {

        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
            // Set styles for expanded state here
            if (getSupportActionBar() != null) {
                getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.RED));
            }
            return true;
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {
            // Set styles for collapsed state here
            if (getSupportActionBar() != null) {
                getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.BLUE));
            }
            return true;
        }
    });

    return true;
}
而实际的
菜单
的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/search"
        android:title="@string/search_title"
        android:icon="@drawable/ic_menu_search"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="android.support.v7.widget.SearchView" />
</menu>

要更改展开视图的后退/X按钮的颜色,请将其添加到样式中:

<item name="colorControlNormal">@color/my_great_color</item>
@color/my\u great\u color
要使颜色更改更平滑,可以设置动画:


我希望,它有帮助

也许你可以在
搜索视图
中添加一个侦听器,当它展开时,更改
工具栏
的颜色。单击搜索图标使用搜索视图打开带有白色编辑文本的可搜索活动希望你已经阅读此内容我看到了该链接,但与我要求的内容无关。谢谢!你提到的部分是有效的。背向箭头虽然存在,但不可见,但背向箭头和背景的颜色不可见same@FaizanMubasher新增截图-返回箭头保持不变,绝对可见。不过,您始终可以根据以下提示更改其颜色:(也可以在onMenuItemActionExpand和onMenuItemActionCollapse中)您是对的!事实上,我正在将颜色从蓝色变为白色,这就是为什么背箭看起来是看不见的。此外,SearchView中的文本颜色也是白色的。不管怎样,谢谢。这不管用,兄弟。后向箭头图标颜色不变。@FaizanMubasher my bad-我找到了一个可行的解决方案-将
@color/my_great_color
添加到您的样式中。(更新了答案)