【问题标题】:New vector asset in drawable folder can't be called from xml无法从 xml 调用可绘制文件夹中的新矢量资源
【发布时间】:2016-08-09 12:13:37
【问题描述】:

所以,基本上我是在使用特定材质图标(在本例中为导航菜单图标)创建一个新的矢量资源。

然后,我想在我的FloatingActionButton 中尝试那个新图标,但是,很愚蠢,我刚刚创建的资产没有被 Android Studio 检测到,并且返回了一个错误,如下面的屏幕截图。

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:src="@android:drawable/ic_menu_white_24dp" />

我也尝试将.xml添加到代码末尾并复制文件引用并将其粘贴到代码中,但两者都不起作用。


然后我决定查看错误详细信息,即:

java.lang.NumberFormatException: Color value '@android:drawable/ic_menu_white_24dp' must start with #

然后我想,“哦!也许我忘记了#”。于是,我打开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="#FFFFFF" 
          android:pathData="M3,18h18v-2L3,16v2zM3,13h18v-2L3,11v2zM3,6v2h18L21,6L3,6z"/>
</vector>

那么,有没有人发现我做错了什么?我是 AS 和 Android Dev 的新手,所以我可能会错过一些愚蠢的东西。

附:我还尝试重新打开 Android Studio,并重建我的项目,但这并不好。

附言我正在使用 Android Studio 2.1

【问题讨论】:

  • 请发布实际样本而不是图像,这对每个人都有好处,尤其是回答可能想要复制您的样本并编辑相关部分的人
  • 删除@android:
  • @NickCardoso 知道了

标签: android xml android-vectordrawable xml-drawable


【解决方案1】:

其实是@drawable/ic_menu_white_24dp

或者,如果您支持原生 Vector 版本,您可以使用。

app:srcCompat:@drawable/ic_menu_white_24dp

【讨论】:

  • 哇,我真的感觉很弱智。为什么错误消息不在我想知道的行上说“@ is expected”?无论如何,它成功了,谢谢。
  • 有什么区别?是不是因为是原生的,所以需要的空间变小了?
  • 原生版本不渲染位图,可以节省很多空间,而且调整大小时质量很好,因为它是矢量图像。虽然设置有点棘手,所以你需要注意设置。
  • 如果您熟悉抗锯齿,那就是位图在矢量情况下用来平滑图像的技术,它是无关紧要的,并且提供比光栅化图像更好的渲染结果。
【解决方案2】:

您已在标记中包含 android 命名空间。由于您尝试使用的 drawable 不是 Android 框架的一部分(它是您的 drawable 文件夹),因此这部分不是必需的。

例如,只需使用:@drawable/ic_menu_white_24dp.xml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2018-07-02
    • 1970-01-01
    相关资源
    最近更新 更多