Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓-这不可能改变ActionBar中搜索图标的颜色吗?_Android_Android Actionbar_Android Theme_Androiddesignsupport - Fatal编程技术网

Android 安卓-这不可能改变ActionBar中搜索图标的颜色吗?

Android 安卓-这不可能改变ActionBar中搜索图标的颜色吗?,android,android-actionbar,android-theme,androiddesignsupport,Android,Android Actionbar,Android Theme,Androiddesignsupport,我在android项目中使用默认的ActionBar。我正在使用主题.AppCompat.Light.darkaActionBar主题 我已经为菜单创建了XML文件,该菜单中的搜索项如下: <item android:id="@+id/search_button" android:icon="@android:drawable/ic_menu_search" android:title="Search" app:showAsAction="always" /

我在android项目中使用默认的
ActionBar
。我正在使用
主题.AppCompat.Light.darkaActionBar
主题

我已经为
菜单
创建了
XML
文件,该
菜单
中的
搜索项
如下:

<item
    android:id="@+id/search_button"
    android:icon="@android:drawable/ic_menu_search"
    android:title="Search"
    app:showAsAction="always" />

当我在物理设备上加载应用程序以测试
搜索图标的颜色时,它不是白色的,是一种微红色(操作栏的低颜色),请参见下图:

标题颜色为白色,可以,溢出菜单按钮颜色为白色,可以,但搜索图标按钮不是白色。所以,我做了研究,发现了以下没有人工作的来源

  • 最后,我意识到无法更改
    操作栏中默认搜索图标的颜色。我只想让这个问题成为这个问题的最后一个长期解释,它涵盖了
    为什么图标颜色不同于标题颜色和溢出菜单图标颜色?
    为什么这个问题不可能解决?
    搜索图标的xml颜色属性隐藏在哪里,很难找到?
    如何(如果可能)在操作栏中更改此默认搜索图标的颜色
    ?我知道我们可以在这里添加白色的自定义图标,我们还有
    工具栏
    ,但我不想要这个解决方案,因为如果可以更改
    操作栏
    中的标题,请将溢出菜单选项添加到
    操作栏
    (等等)然后还可以更改
    操作栏中搜索图标的颜色。也许我发现了一个隐藏的极客,他知道这个问题,可以解释
    为什么
    什么
    ,使这个问题成为未来安卓用户的最后一个信息/解决方案

    如果有人想否定我的问题,我很乐意回答,但至少这个问题会对未来的android新手有所帮助。谢谢

    为什么图标颜色与标题颜色和溢出菜单图标颜色不同

    @android:drawable/ic_menu_search
    (您可以在
    android\Sdk\platforms\android-28\data\res\drawable
    中找到它们)是一个带有透明白色的png文件(这就是为什么您会得到一个白红色)

    为什么这件事不可能解决

    这不是不可能的,您可以创建自己的图标,如下所示

    搜索图标的xml颜色属性隐藏在哪里,很难找到

    没有xml。只是png文件。根据主题不同,android将选择其中一个(即,对于浅动作栏,黑色图标;对于暗动作栏,白色图标)

    如何(如果可能)更改ActionBar中此默认搜索图标的颜色

    解决方案是为搜索图标创建自己的矢量图像。您可以指定所需的任何颜色。然后在菜单中使用此图标

    步骤1:创建矢量图像

    右键单击
    drawable
    文件夹->新建->矢量资产

    步骤2:创建搜索图标并选择颜色

    更改
    Clipart
    颜色

    步骤3:在菜单中使用此图标


    使用以下矢量绘制

    ic_search.xml(res/drawable/ic_search.xml)

    
    
    我知道这一点。这个颜色问题有什么问题?“先生,你能解释一下吗?”Sunny更新了我能找到的信息,希望这对你有所帮助。我很高兴能为我的问题找到这些答案。让我的概念更清晰。再次感谢你,我知道这一点。这个颜色问题有什么问题?先生,你能解释一下吗?
    <vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:tint="#FFFFFF"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
        <path
            android:fillColor="#FF000000"
            android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z" />
    </vector>