【问题标题】:How to add an icon in drawable.xml after inserting vector asset?插入矢量资产后如何在 drawable.xml 中添加图标?
【发布时间】:2015-12-22 22:53:20
【问题描述】:

我想为我的 android studio 项目添加一些额外的图标,所以我通过 New > Vector Asset 添加到 drawable 文件夹中。这里的问题是我的 drawable.xml 文件无法识别我的 ic_menu_logout 文件。代码:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <item name="ic_menu_camera" type="drawable">@android:drawable/ic_menu_camera</item>
    <item name="ic_menu_gallery" type="drawable">@android:drawable/ic_menu_gallery</item>
    <item name="ic_menu_slideshow" type="drawable">@android:drawable/ic_menu_slideshow</item>
    <item name="ic_menu_manage" type="drawable">@android:drawable/ic_menu_manage</item>
    <item name="ic_menu_share" type="drawable">@android:drawable/ic_menu_share</item>
    <item name="ic_menu_send" type="drawable">@android:drawable/ic_menu_send</item>
    <item name="ic_menu_logout" type="drawable">@android:drawable/ic_menu_logout</item>
</resources>

包含ic_menu_logout 的最后一行显示错误。也许我错过了什么或做错了什么。帮帮我。谢谢。

注意:

ic_menu_logout 本身就是一个.xml 文件:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FF000000"
        android:pathData="M10.09,15.59L11.5,17l5,-5 -5,-5 -1.41,1.41L12.67,11H3v2h9.67l-2.58,2.59zM19,3H5c-1.11,0 -2,0.9 -2,2v4h2V5h14v14H5v-4H3v4c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z"/>
</vector>

【问题讨论】:

  • 我通常只是将扩展名更改为 png 并拖动,将它们放入可绘制文件夹中,它们可以正常工作。
  • @ivan 我编辑了我的帖子,请查看。如果文件是 xml 怎么办?
  • 那么,您遇到的错误是什么?
  • @ivan Cannot resolve symbol @android:drawable/ic_menu_logout
  • 它真的在您的可绘制文件夹中吗?我不明白为什么它不起作用,它对我来说很好。

标签: android xml android-studio drawable


【解决方案1】:

仅将 @android:drawable/ic_menu_logout 替换为 @drawable/ic_menu_logout

【讨论】:

    【解决方案2】:

    仅将@android:drawable/ic_menu_logout 替换为@drawable/ic_menu_logout

    这解决了我的问题,谢谢!

    编辑: 我遇到了这个问题,因为我开始使用导航抽屉活动。这包括一些可绘制对象,例如 res/drawable-v21 文件夹中的 ic_menu_gallery。但是,它还包含一个 values/drawables.xml,其中包含所有可绘制对象的别名!这些被指定为

     <item name="ic_menu_camera" type="drawable">@android:drawable/ic_menu_camera</item>
    

    这意味着总是使用android系统的drawable,而res/drawable-v21文件夹中的drawable会被忽略。您可以通过更改 res/drawables-v21 文件夹中可绘制对象的颜色来验证这一点。

    我的解决方案是将所有drawables从drawables-v21复制到drawables文件夹并删除drawables-v21文件夹。我还删除了 values/drawable.xml 文件,因为它完全没用并且让人们感到困惑(至少是我。;))

    【讨论】:

    • 请不要添加“谢谢”作为答案。在网站上投入一些时间,您将获得足够的 privileges 来为您喜欢的答案投票,这是 Stack Overflow 表达谢谢的方式。
    • 我想评论他的答案,但由于没有足够的权限而无法评论。我在这里花了一些时间,我不明白为什么你需要 50 个信用来评论其他人的答案。无论如何-将修改我的答案以更有帮助。
    猜你喜欢
    • 2021-10-28
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多