更改searchview后退按钮的颜色

时间:2019-02-05 13:55:02

标签: android android-studio optionmenu

我在选项菜单中有一个searchView,这是该菜单的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/app_bar_search" android:icon="@drawable/ic_search_black_24dp" android:orderInCategory="101" android:title="search" app:actionViewClass="android.support.v7.widget.SearchView" app:showAsAction="collapseActionView|ifRoom" />
    <item android:id="@+id/garden" android:icon="@drawable/ic_local_florist_green_24dp" android:orderInCategory="101" android:title="app" app:showAsAction="always" />

    <item android:id="@+id/about" android:icon="@drawable/ic__ionicons_svg_ios_information_green_circle" android:orderInCategory="101" android:title="دabout us" app:showAsAction="always" />
</menu>

如何更改searchView中后退按钮的颜色? 我不使用工具栏,活动主题为“ Theme.AppCompat.Light”。

2 个答案:

答案 0 :(得分:0)

一种方法是使用SearchView创建自定义appBar并设置其样式,如下所示:

  <style name="CustomSearchViewStyle" parent="Widget.AppCompat.SearchView">
    <item name ="voiceIcon">@drawable/ic_flag</item>
    <item name="searchIcon">@drawable/ic_search</item>
    <item name="queryBackground">@color/DarkYellow</item>
    <item name="android:background">@color/MainYellow</item>
    <item name="android:paddingBottom">20dp</item>
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingStart">-15dp</item>
    <item name="android:paddingEnd">15dp</item>
    <item name="android:inputType">textCapWords</item>
</style>

并在您的SearchView中:

<android.support.v7.widget.SearchView
    android:id="@+id/top_search_bar"
    style="@style/CustomSearchViewStyle"
    android:layout_width="match_parent"
    android:layout_height="@dimen/search_bar_height"
    android:layout_alignParentStart="true"
    app:iconifiedByDefault="false"
    app:queryHint="@string/search_hint"
    android:layout_alignParentEnd="true" />

答案 1 :(得分:0)

右键单击res> new> Vector资产

enter image description here

Asset Studio对话框将打开。
单击剪贴画旁边的按钮。

enter image description here`

选择任何图标。在这种情况下,向后箭头。 单击颜色,然后选择所需的任何颜色 命名图标。请注意,您将使用该名称在xml中进行引用。在这种情况下,ic_arrow_back_yellow

enter image description here

单击下一步,然后单击完成。默认情况下,它将保存在drawable中。


现在在您的xml参考中,您添加的图标@drawable/ic_arrow_back_yellow

<?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/app_bar_search" android:icon="@drawable/ic_arrow_back_yellow" android:orderInCategory="101" android:title="search" app:actionViewClass="android.support.v7.widget.SearchView" app:showAsAction="collapseActionView|ifRoom" />
<item android:id="@+id/garden" android:icon="@drawable/ic_local_florist_green_24dp" android:orderInCategory="101" android:title="app" app:showAsAction="always" />

<item android:id="@+id/about" android:icon="@drawable/ic__ionicons_svg_ios_information_green_circle" android:orderInCategory="101" android:title="دabout us" app:showAsAction="always" />