【问题标题】:Actionbar back button changes when searchview expands搜索视图展开时操作栏后退按钮发生变化
【发布时间】:2015-12-04 11:12:28
【问题描述】:

我正在使用AppCompat 活动,并且我已将后退按钮的颜色更改为白色normal searchView。我的ActionBar 有一个搜索视图,展开后,后退按钮的颜色从白色变为黑色。 expanded searchView

我需要将ActionBar 的后退按钮的颜色保持为白色。 我试过addOnLayoutChangeListener,但对我没有帮助。请提出解决方案。

我认为,应该有一种方法可以在主题本身中实现actionBar后退按钮的颜色。

编辑:

为actionBar后退按钮设置白色:

getSupportActionBar().setHomeAsUpIndicator(getColoredArrow(context));

    public static Drawable getColoredArrow(Context context) {
        Drawable arrowDrawable = context.getResources().getDrawable(
                R.drawable.abc_ic_ab_back_mtrl_am_alpha);
        Drawable wrapped = DrawableCompat.wrap(arrowDrawable);

        if (arrowDrawable != null && wrapped != null) {
            // This should avoid tinting all the arrows
            arrowDrawable.mutate();
            DrawableCompat.setTint(wrapped, Color.WHITE);
        }

        return wrapped;
    }

搜索视图菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_search"
          android:title="Search"
          android:icon="@drawable/menu_search"
          android:showAsAction="ifRoom|collapseActionView"
          app:actionViewClass="android.widget.SearchView" />
</menu>

【问题讨论】:

    标签: android android-actionbar searchview


    【解决方案1】:

    只要按下搜索按钮,只需将后退按钮图像资源设置为黑色图像,然后在隐藏搜索栏时将其设置回白色

    【讨论】:

    • 不,这样不行,我试过了。我认为可能有办法改变主题本身。
    • 我已经添加了代码,我在其中设置了 actionBar 后退按钮的颜色,以及搜索视图,当展开时它会变回黑色。
    • 不,我已经为后退按钮设置了白色,但是 searchView 在展开时会覆盖后退按钮的颜色。我还链接了屏幕截图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    相关资源
    最近更新 更多