【问题标题】:change color of searchview back button更改 searchview 后退按钮的颜色
【发布时间】:2019-02-05 13:55:01
【问题描述】:

我在选项菜单中有一个 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”。

【问题讨论】:

    标签: android android-studio optionmenu


    【解决方案1】:

    一种方法是创建一个带有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" />
    

    【讨论】:

      【解决方案2】:

      右键点击 res>new>Vector Asset



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

      `

      选择任何图标。在这种情况下,箭头返回。 单击颜色并选择您想要的任何所需颜色 为图标命名。请注意,您将在 xml 中引用此名称。在这种情况下ic_arrow_back_yellow



      单击下一步并完成。默认保存在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" />
      

      【讨论】:

      • 不,我想更改返回按钮图标,但是您的代码更改了 searchView 的图标。
      • 从资产中搜索后退按钮。箭头返回图标可用于返回按钮
      猜你喜欢
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-02
      • 2020-10-28
      • 1970-01-01
      相关资源
      最近更新 更多