当前位置: 首页 > 知识库问答 >
问题:

在SearchView单击更改工具栏颜色/样式

彭阳荣
2023-03-14

我有一个简单的问题。

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

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

然后回到原来的工具栏颜色时,单击返回按钮。

共有1个答案

张宣
2023-03-14

活动/片段代码中:

@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>

为了使颜色的变化更平滑-你可以动画它:在Android上动画更改视图背景颜色

我希望,这会有帮助

 类似资料:
  • 我有一个工具栏。这张照片的背景颜色是明亮的橙色,最好看的颜色是白色而不是黑色。 我的默认颜色是黑色而不是白色。因为它会与其他东西冲突,所以几乎不可能被覆盖。我无法将主文本颜色更改为白色! 我设法改变了标题的颜色。我现在正在寻找的是如何将操作按钮的颜色也更改为白色。 我的代码: 主要活动: 菜单栏: 风格:

  • 我用的是Android系统。支持v7。小装置。从这篇文章中学习了如何将汉堡包图标的颜色更改为白色,但当我调用时,向上/向后箭头仍然是黑色 我怎样才能使箭头也变成白色? 下面是我的工具栏看起来像当我调用setDisplayHomeAsUpEn的(): ...这是我风格的相关部分。xml文件:

  • 如何更改searchview中黑色箭头(后退按钮)的颜色,我已尝试使用以下代码进行自定义 但它不起作用

  • 问题内容: 我正在尝试将 工具提示 颜色更改为红色。但是,我还希望有其他多种颜色,所以我不只是要替换原始工具提示的颜色。 我将如何去做呢? 问题答案: 您可以使用这种方式: 在CSS中: Moeen MH:使用最新版本的引导程序,您可能需要执行以下操作才能消除黑色箭头: 将其用于Bootstrap 4: 完整摘要:

  • 我想创建一个按钮,随机数字,按钮颜色如下引导CSS类: 1=主要,2=次要,3=成功,4=危险,5=警告,6=信息(背景颜色)在屏幕或刷新的开始,您必须始终随机化一个数字,并为按钮分配颜色和值。点击按钮就是总是随机化一个新数字,并改变它的颜色和值。

  • 如何更改DataTable中单击行的颜色? 我有我的数据表和一个JavaScript来对单击行的数据执行一些操作: 谢谢