在Android工具栏中更改背面和清除图标的SearchView颜色

时间:2015-08-27 13:02:22

标签: android android-actionbar searchview android-toolbar appcompat-v7-r22.2

我想在SearchView崩溃时自定义后退和清除图标。我的要求是将颜色更改为白色,但现在是黑色。(请参阅下面分享的图像)。我希望解决这个问题几天,但我尝试过的解决方案都没有解决。我尝试了SO中提出的一些解决方案,如下所示:

解决方案1:

<style name="AppTheme" parent="@style/Theme.Base.AppCompat.Light.DarkActionBar">
    <item name="actionBarWidgetTheme">@style/YourActionBarWidget</item>
</style>

<style name="YourActionBarWidget" parent="@style/Theme.AppCompat">
    <item name="searchViewCloseIcon">@drawable/xxx</item>
</style>

解决方案2:

final Drawable upArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
upArrow.setColorFilter(getResources().getColor(R.color.WHITE), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);  

我的项目 styles.xml

<style name="ToolBarTheme" parent="@style/Theme.AppCompat.Light">
        <item name="colorPrimary">@color/blue</item>
        <item name="colorPrimaryDark">@color/blue</item>
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <item name="android:itemTextAppearance">@style/myCustomMenuTextApearance</item>
        <item name="android:actionMenuTextColor">@color/white</item>
        <item name="actionMenuTextColor">@color/white</item>

    </style>



<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
        <item name="spinBars">true</item>
        <item name="color">@color/white</item>
        <item name="gapBetweenBars">2.5dip</item>
        <item name="thickness">2dp</item>
    </style>

我确切问题的屏幕截图:

enter image description here

请帮我解决我的问题。任何类型的解决方案和建议对我都有帮助。感谢您的支持。

3 个答案:

答案 0 :(得分:7)

如果您在工具栏上搜索白色图标 在工具栏标签上添加这些

android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

答案 1 :(得分:2)

我假设您使用此作为基本应用程序主题。

<style name="AppTheme" parent="@style/Theme.Base.AppCompat.Light.DarkActionBar"> 

只需将其更改为

即可
<style name="AppTheme" parent="@style/Theme.AppCompat.NoActionBar">

如果您只想将背面和X图标更改为白色,请为我工作。

答案 2 :(得分:2)

1:要更改后退按钮图标,请添加

app:collapseIcon="@drawable/back_arrow"
android.support.v7.widget.Toolbar

中的

2:要更改清除按钮图标,请添加

ImageView searchClose = searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
searchClose.setImageResource(R.drawable.close);
onCreateOptionsMenu

中的