首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将向量资产导入Android时出错

将向量资产导入Android时出错
EN

Stack Overflow用户
提问于 2016-09-21 04:36:53
回答 3查看 19.5K关注 0票数 4

我在Illustrator中创建了一个简单的play按钮映像,将其保存为SVG,使用一个在线SVG到play转换器来创建文件的xml,然后尝试使用Android的Vector工具将该文件导入到我的项目中。然而,当导入时,绘图的元素之一丢失,在这种情况下,白色三角形在圆圈的中间。

play_circle.xml (转换的xml文件)

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:viewportWidth="94"
    android:viewportHeight="102"
    android:width="94dp"
    android:height="102dp">
  <path
      android:pathData="M85 52.5A38.5 38.5 0 0 1 46.5 91 38.5 38.5 0 0 1 8        
52.5 38.5 38.5 0 0 1 46.5 14 38.5 38.5 0 0 1 85 52.5Z"
  android:strokeWidth="2"
  android:fillColor="#424900"
  android:strokeAlpha="0.29"
  android:fillAlpha="0.29"
  android:strokeColor="#000000"
  android:strokeMiterLimit="10" />
<path
  android:pathData="M71.39 51.63L34.81 30.51"
  android:fillColor="#ffffff" />
</vector>

button.svg,在插画中创建的,以及它的意图

当它被导入到的Vector工具中后,您可以看到白色三角形已经丢失了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-21 05:52:53

在将png转换为svg时,我们需要遵守一些规则。所有的转换器都不能正常工作。在我的例子中,我找到了最好的转换器站点,它将在转换过程中为您提供预览图像以确认,这将要求免费注册,然后您可以下载您的svg文件。

将PNG转换为SVG --它需要单次注册,每天仅允许通过一封电子邮件提供2种令牌。

替代品:Reference2 Reference3

生成svg后,使用以下工具将svg转换为矢量绘图(这是必要的,因为android无法导入由随机转换器生成的所有格式和样式)

从SVG生成可绘制的向量

我为你的形象做了上面的步骤。我创建了完美的向量绘图,您可以通过创建新的xml直接复制到绘图文件夹。(通过将其作为源应用于图像视图进行测试。享受吧!)

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="138dp"
android:height="151dp"
android:viewportWidth="138"
android:viewportHeight="151">

<path
    android:fillColor="#ffffff"
    android:pathData="M 0.00 0.00 L 136.94 0.00 C 136.87 48.67 136.95 97.33 136.88 146.00 C 137.12
147.64 136.29 149.93 138.00 151.00 L 0.00 151.00 L 0.00 0.00 Z" />
   <path
    android:fillColor="#c7c9b7"
    android:pathData="M 136.94 0.00 L 138.00 0.00 L 138.00 151.00 L 138.00 151.00 C 136.29 149.93
    137.12 147.64 136.88 146.00 C 136.95 97.33 136.87 48.67 136.94 0.00 Z" />
<path
    android:fillColor="#c7c9b7"
    android:pathData="M 60.36 18.50 C 77.71 16.46 95.72 22.52 108.36 34.56 C 120.55 46.19 127.59 63.12
    126.81 79.99 C 126.14 101.98 112.25 123.13 91.95 131.82 C 81.01 137.33 68.13
    138.47 56.13 136.23 C 37.74 133.08 21.41 120.27 13.46 103.43 C 7.33 90.93 6.03
    76.16 9.58 62.73 C 14.43 43.60 29.48 27.32 48.31 21.29 C 52.28 20.16 56.25 18.96
    60.36 18.50 Z" />
<path
    android:fillColor="#ffffff"
    android:pathData="M 46.98 47.96 C 46.74 46.39 47.53 43.71 49.61 44.42 C 67.56 54.69 85.44 65.06
    103.33 75.43 C 104.44 75.89 105.51 76.60 105.76 77.86 C 105.26 78.65 104.62
    79.29 103.84 79.80 C 86.11 90.08 68.32 100.27 50.60 110.59 C 49.59 111.11 48.54
    111.11 47.46 110.58 C 47.35 110.18 47.12 109.38 47.01 108.98 C 46.95 88.64 47.03
    68.30 46.98 47.96 Z" />
 </vector>
票数 10
EN

Stack Overflow用户

发布于 2018-09-19 16:01:33

我是UX的设计师,我也遇到了同样的问题。经过大量的尝试和错误以及谷歌搜索,我找到了一个解决方案。

  1. 在任何adobe平台中创建SVG
  2. 消除任何阴影
  3. 确保长度和宽度,即尺寸是整数,而不是小数(43.5 > 44)
  4. 笔划(如果您正在使用XD),请确保仅为内冲程或外部笔画,而不是中心笔划。
  5. 将其导出到SVG并导入到android中,您将看到一个预览。

PS:图像中的文本不起作用,但仍然会导入。

票数 4
EN

Stack Overflow用户

发布于 2018-01-15 16:42:23

我无法让向量资产工作室理解我的任何资产。原因是我的系统是用法语的。您需要使用英语,因为在svg的路径中,,.不同,并且它会在系统的区域设置中自动翻译。尝试使您的系统运行英语区域设置(在操作系统级别-更改语言)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39607647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档