我正在使用AppCompat
活动,并且我已将后退按钮的颜色更改为白色普通searchView。我的ActionBar
有一个搜索视图,展开后会将后退按钮的颜色从白色更改为黑色。展开搜索查看
我需要将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>
只需在按下搜索按钮时将后退按钮图像资源设置为黑色图像,并在搜索栏隐藏时将其设置为白色即可