【问题标题】:Vector Asset Studio is importing colorful .svg file as black and whiteVector Asset Studio 正在将彩色 .svg 文件导入为黑白
【发布时间】:2016-06-21 10:40:20
【问题描述】:

我正在使用找到的说明 here, from Google 使用新选项(2016 年 3 月)将 .svg 文件导入 drawable 而不是 .png 文件。

我遇到的问题是文件被导入为黑白,即使文件有很多颜色。

这是 .svg 文件的图像,由 Google Chrome 读取:

Vector Asset Studio 会像这样读取相同的文件:

在应用程序中,图像显示为黑白。

知道为什么会这样吗?

.svg 文件正在 Adob​​e PhotoShop Creative Cloud 上生成,我在 Mac 上使用 Android Studio 1.5.1。

谢谢!

编辑:为这个问题添加了link to .svg file I'm using

【问题讨论】:

  • 图片是否有外部CSS? Vector Asst Studio 是否支持外部 CSS?
  • 嗯。我不知道这两个问题的答案。这是我们的设计团队给我的。知道我应该让他们在哪里检查 Photoshop 中的外部 css 吗?
  • 将文件添加到问题中。
  • 该文件中没有外部 CSS。我不知道为什么它不显示,它应该可以工作。我建议您在任何地方都使用 Vector Asset Studio 的 bugtracker。

标签: android android-studio svg vector-graphics


【解决方案1】:

我也有同样的问题,但在挖掘互联网之后 终于找到了解决办法,这里是:-

在完成插画设计之后

1) 转到文件 --> 另存为 ---> 窗口对话框打开 --> 输入 svg 的名称 --->点击保存

2) 现在它显示 SVG 选项对话框 ---> 在左下角单击更多选项 ---> 在 CSS 属性下拉列表中 ---> 选择演示属性

此设置使 svg 兼容代码用于带有颜色的 android 导入!!

很抱歉让这个答案变得详细......为那些初学者做了这个

【讨论】:

  • 这就是答案,大家。谢谢,Vibhore。
  • 你知道如何在 Inkscape 上保存文件吗?
  • 对于那些在 Illustrator 中使用“Export for Screens”的用户(如果您有很多图像要导出,特别有用),那么您可以通过输入 Advanced Settings(使用 Export for Screen 对话框中的 cog 图标)来实现),然后在 SVG 下,将“样式”更改为“内联样式”。
  • 它也可以在 Corel Draw 中使用。同样的选项,选择演示属性。谢谢老兄。
【解决方案2】:

Android Studio 的 SVG 导入器有些受限。它只处理非常简单的 SVG 文件。而且我不相信它支持<style> 元素或class 属性。因此,您需要将 CSS 更改为 XML 属性。

例如:

<path class="st0" d="M163.3,10.8c2.4-0.5,6.2-0.9,10-0.9c5.5,0,9,0.9,11.6,3.1c2.2,1.6,3.5,4.1,3.5,7.5c0,4.1-2.7,7.7-7.2,9.3v0.1
    c4,1,8.7,4.3,8.7,10.6c0,3.6-1.4,6.4-3.6,8.5c-3,2.7-7.7,4-14.6,4c-3.8,0-6.7-0.3-8.5-0.5V10.8z M168.8,28.1h5c5.8,0,9.2-3,9.2-7.1
    c0-5-3.8-6.9-9.3-6.9c-2.5,0-4,0.2-4.8,0.4V28.1z M168.8,48.4c1.1,0.2,2.6,0.3,4.6,0.3c5.7,0,10.9-2.1,10.9-8.2
    c0-5.8-5-8.2-10.9-8.2h-4.5V48.4z"/>

需要改成:

<path fill="#007299" d="M163.3,10.8c2.4-0.5,6.2-0.9,10-0.9c5.5,0,9,0.9,11.6,3.1c2.2,1.6,3.5,4.1,3.5,7.5c0,4.1-2.7,7.7-7.2,9.3v0.1
    c4,1,8.7,4.3,8.7,10.6c0,3.6-1.4,6.4-3.6,8.5c-3,2.7-7.7,4-14.6,4c-3.8,0-6.7-0.3-8.5-0.5V10.8z M168.8,28.1h5c5.8,0,9.2-3,9.2-7.1
    c0-5-3.8-6.9-9.3-6.9c-2.5,0-4,0.2-4.8,0.4V28.1z M168.8,48.4c1.1,0.2,2.6,0.3,4.6,0.3c5.7,0,10.9-2.1,10.9-8.2
    c0-5.8-5-8.2-10.9-8.2h-4.5V48.4z"/>

其余的 &lt;path&gt; 元素等等。

【讨论】:

  • 这就是我最终做的事情,但它显然会成为更复杂的图像甚至有几种颜色的问题。知道这在 Android Studio 2.0 测试版上是否更有效吗?
  • 在 Inkscape 中,您可以保存为“优化的 SVG”,它提供了将 CSS 样式转换为 XML 属性的选项。但是,当我尝试使用您的文件时,它引发了错误。
  • 哈哈,不错!我唯一的问题是我们从营销部门获取文件,他们只使用 adobe CC 的东西。该文件实际上是在 Illustrator 上创建的。是的,我可以在 Inkscape 中转换它,但如果颜色发生了一点变化(或其他任何变化),那么我对此负有责任,即使营销人员给了我们正确的图像。
  • 我的问题被标记为重复,但是只有黑色/白色 svg 被导入为全黑呢?相同的故事? stackoverflow.com/questions/36069272/…
【解决方案3】:

就是这么简单 将图像添加到项目后,您可以直接从 svg xml 更改颜色。

当您将图像添加到项目时; svg 颜色必须是这样的:

android:fillColor="#000000"

只需要改成这个:

android:fillColor="#b3ff856d"

只是在寻找 android:fillColor

【讨论】:

    猜你喜欢
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多