Android Searchview后退按钮颜色变化

时间:2017-01-17 12:38:25

标签: android searchview

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

    ImageView backid = (ImageView) searchViewAndroidActionBar.findViewById(R.id.search_button);
    backid.setColorFilter(ContextCompat.getColor(Shopping_CategoriesCommon.this, R.color.white), PorterDuff.Mode.SRC_IN);
    backid.setImageResource(R.drawable.search);

但它不起作用

3 个答案:

答案 0 :(得分:9)

将此属性添加到xml文件中的工具栏 应用:collapseIcon

<android.support.v7.widget.Toolbar
     android:id="@+id/toolbar"
     android:layout_width="match_parent"
     android:layout_height="@dimen/toolbarHeight"
     app:collapseIcon="@drawable/collapseBackIcon" />

答案 1 :(得分:3)

经过一天的搜索后,我通过将app:collapseIcon="@drawable/back_arrow"添加到自定义工具栏

来解决了这个问题
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    android:orientation="vertical"
    app:collapseIcon="@drawable/back_arrow"/>

答案 2 :(得分:0)

我可以使用反射更改颜色。

try {
    final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    Field mCollapseIcon = toolbar.getClass().getDeclaredField("mCollapseIcon");
    mCollapseIcon.setAccessible(true);
    Drawable drw = (Drawable) mCollapseIcon.get(toolbar);
    drw.setTint(color);
}
catch (Exception e) {
}