android - Jetpack Compose 矢量解析问题

标签 android android-jetpack-compose

我正在尝试加载向量,但不断收到此错误堆栈跟踪

 java.lang.IllegalArgumentException: Unknown command for: R
    at androidx.compose.ui.graphics.vector.PathNodeKt.toPathNodes(PathNode.kt:275)
    at androidx.compose.ui.graphics.vector.PathParser.addNode(PathParser.kt:525)
    at androidx.compose.ui.graphics.vector.PathParser.parsePathString(PathParser.kt:84)
    at androidx.compose.ui.graphics.vector.VectorKt.addPathNodes(Vector.kt:72)
    at androidx.compose.ui.graphics.vector.compat.XmlVectorParser_androidKt.parsePath(XmlVectorParser.android.kt:279)
    at androidx.compose.ui.graphics.vector.compat.XmlVectorParser_androidKt.parseCurrentVectorNode(XmlVectorParser.android.kt:101)
    at androidx.compose.ui.res.VectorResources_androidKt.loadVectorResourceInner(VectorResources.android.kt:81)
    at androidx.compose.ui.res.VectorResources_androidKt.vectorResource(VectorResources.android.kt:62)
    at androidx.compose.ui.res.VectorResources_androidKt.vectorResource(VectorResources.android.kt:52)
    at com.tapmax.football.ui.screens.design.DesignScreenKt$KitPager$1.invoke(DesignScreen.kt:440)
    at com.tapmax.football.ui.screens.design.DesignScreenKt$KitPager$1.invoke(DesignScreen.kt:439)
我无法复制矢量的完整代码,所以我附上了一张图片,它只是一个普通矢量
enter image description here

最佳答案

您的编译器警告可能会提示 RESOURCE_TOO_LONG (一些路径值)。这些似乎有一个最大值。
解析器打开字符串值,找到 R并且不知道如何处理它。
您可以:

  • 简化 XML(或用于生成它的源 Material )。
  • 将该路径分成两条路径(可能在第一条路径的末尾添加 Z IIRC 以将其关闭,将 M<last_coordinate> 添加到第二条路径以从其离开的位置开始)。但实际上最好有一个合规的来源:)
  • 关于android - Jetpack Compose 矢量解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71369599/

    相关文章:

    java - 如何限制每次 session 的广告数量?

    android - 通过拖放重新排序 LazyColumn 项目

    android - 如何将 Android 项目升级到 Java 11

    android - Jetpack Compose - LazyColumnFor 在添加项目时不重新组合

    android - picasso :如何取消适配器中的所有图像请求

    android - 将 FlutterFragment 添加到 Activity?

    java - 无法从 View 转换为 ListView

    Android:弹出窗口:尝试完成输入事件但输入事件接收器已被处理

    android - Jetpack Compose 和 Room DB : Performance overhead of auto-saving user input?

    android - 如何从外部更新可组合状态?