问题标签 [android-vectordrawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
759 浏览

android - 在显示解析 XML 时出错的布局中使用 VectorDrawable:重复属性问题

根据 Android Studio 工具构建版本的新版本,'com.android.tools.build:gradle:1.4.0-beta6'我在我的布局中使用 VectorDrawable,如下所示。

并在drawable文件夹中生成VectorDrawable如下:

ic_arrow_right_16dp.xml

我面临的问题

一切都按照上述步骤进行。但是一旦我尝试构建项目,我会收到如下错误说明

因为我是第一次在我的项目中使用 VectorDrawable,所以我真的不知道我在哪里犯了错误,也很困惑使用 gradle build 的哪个部分来使用 VectorDrawable。任何帮助和解决方案都会对我很有帮助。提前致谢。

注意:目前我buildToolsVersion"23.0.1"

0 投票
0 回答
459 浏览

android - Android Wear - Vector Drawable 在真实设备上不可见

我为 android wear 实现了几个扩展通知,扩展以显示如下操作:

我正在尝试使用以下可绘制(ic_insert_photo_24dp.xml),使用“添加矢量可绘制”功能在 Android Studio 中导入:

Drawable 在手持设备上运行良好,在穿戴模拟器上也运行良好,结果类似于:

在此处输入图像描述

无论如何,当我在真实设备(Moto 360)上测试时,我只能看到蓝色圆圈,没有图标。如果我使用“旧式”可绘制对象(比如 .png),一切都会按预期工作。你能说出为什么吗?

更新:谷歌的人说这是一个 OEM特定的问题

UPDATE2:谷歌的人接受了这个问题:标签:组件磨损缺陷 27725751

0 投票
7 回答
37509 浏览

android - 以编程方式更改android中向量的fillColor

我想以编程方式在 Android 中编辑矢量文件的填充颜色。

在 xml 文件中,我可以使用属性 android:fillColor设置颜色,但我想在运行时更改颜色。

有什么例子吗?谢谢。

0 投票
1 回答
798 浏览

android - 绘制不同尺寸的 VectorDrawable

我在应用程序中有一个简单的 VectorDrawable。它来自 android SDK,看起来像这样:

我想将它绘制成 400x400 位图,以便缩放以填充位图。目前,当我绘制它时,它仅以 24x24 显示。这是代码:

0 投票
1 回答
1046 浏览

android - Android Studio 中的异常解析向量资源

当我尝试根据 Vector Drawables 的新 Android Studio 1.4 版支持功能从本地文件夹中包含的 SVG 文件生成矢量资源时遇到问题。我附上了我收到的错误的屏幕截图,如下所示

在此处输入图像描述

我真的很困惑,不知道如何继续,因为 Vector Drawable(SVG) 支持在 Android 中对我来说是新的。任何形式的帮助都会对我有用。提前致谢。

注意:默认的Material Icon运行良好,但只有在我尝试从本地 SVG 文件导入时才会遇到问题

0 投票
1 回答
5178 浏览

android - 从字符串(路径)创建 VectorDrawable?

有没有办法从 API 获取 SVG 路径字符串并VectorDrawable动态创建?

我一直在尝试这样做几个小时而没有成功。更重要的是,Internet 上的所有 (!) 示例都解释了VectorDrawable从 XML 资源创建。

就我而言,XML 资源文件毫无意义,因为我试图从 Internet API 获取 SVG 路径。

0 投票
3 回答
46673 浏览

android - Android - 如何为图标制作 XML 文件?

这是 SHARE 图标的 xml 文件。如何为其他图标创建 XML?

0 投票
1 回答
395 浏览

android - 调整 SVG 图形的原点

tl;dr:给定任意 SVG <path>,我如何调整路径命令以设置文件的新原点?

细节

我正在使用 Adob​​e Illustrator 创建用于 Android 的矢量图形。Illustrator 有一个错误,在(未知)情况下,viewBox为您的图形创建的所有坐标与您在 Illustrator 中为画布和对象设置的坐标不匹配。而不是(例如)viewBox="-7 0 14 20"你可能会得到viewBox="-53 75 14 20". 通常路径命令将被翻译以适应该视图框。有时即使这样也失败了。

在普通的 SVG 文件中 (a) 这很少会引起注意,并且 (b) 通过将所有内容包装在根级<g transform="translate(46,-75)">. 在 Android中,VectorDrawable这需要一个<group>我不想添加的额外内容,并且(与 SVG 不同)我无法为其<path>自身添加翻译。在我的代码中,起源很重要。

如何调整 SVG 文件中所有路径的路径命令以将它们偏移固定量,从而允许我将原点放置在我想要的位置?

0 投票
1 回答
2480 浏览

android - Android:如何将矢量可绘制图像加载到 webview 中?

抱歉,如果这是重复的,但我努力搜索并没有找到这个问题......

所以回到过去的 Android 时代,你可以将这样的内容添加到 WebView 的源 html 中:

它会在 WebView 中正确显示 my.png。但是——Android 现在支持(并且更喜欢我们使用)这些新奇的矢量可绘制对象,并且 Android Studio 的Vector Asset Studio使得从 SVG 文件或其他文件中导入它们变得非常容易。

很棒的是,为了向后兼容,在构建过程中会自动生成各种 dpi/屏幕尺寸的 .png,以支持旧设备。因此,如果您的目标是较旧的设备,那里有 .png 图像。

如果我能接触到他们就好了。因为,据我所知,使用矢量图形确实会破坏 WebViews 中的这些file:///android_res/drawable/ img链接。这很奇怪,因为正如我所说,如果只看的话,还有 .png 文件可供查看。

我想了一些方法来解决这个问题,但没有一个奏效:

  1. 由于 .png 是即时生成的并包含在 .apk 中,我想也许我可以直接指向其中一个生成的文件,例如file:///android_res/drawable-hdpi-v4/my.png. (我检查了 .apk 文件,这就是其中一个文件所在的位置。)但那里没有这样的运气。损坏的图像。

  2. 好的,我想——也许有一种方法可以让 WebView 直接显示矢量对象。也就是说,也许 WebView 会识别一个<img src="file:///android_res/drawable/my_image.xml"/>或类似的东西。我的意思是,Chrome 可以渲染 svg 对吗?也许它也支持 .xml 矢量格式。但这里也没有骰子。(即使它成功了,它也不太可能支持旧的铬前 webview 版本。)

  3. 我尝试的第三件事是只包含一个 xxxhdpi 大小的 .pngres/drawable以便 webview 可以找到它并希望显示它。不幸的是,这也不起作用。看起来只要有一个 .xml 向量/drawable就足以让它阻止 png,无论它是否在/drawableor/drawable-xxxhdpi目录中。

所以显而易见的问题:有没有办法让 WebView 显示矢量 xml(或生成的相关支持 .png)?我们如何在带有矢量可绘制对象的 WebView 中从 HTML 访问可绘制对象?特别是。无需以编程方式执行任何操作?

任何人都知道这应该如何工作?我想接下来要做的是深入研究 chromium/android 源代码以尝试找出其file:///android_res/drawable/工作原理,但这听起来并不有趣,所以如果有人有答案,那将很有帮助。

我可能在这里遗漏了一些非常明显的东西。提前谢谢!

更新:我尝试/排除的其他事情包括(1)删除图像名称中的下划线(因为我认为它们可能被替换为“/”),(2)loadDataWithBaseUrl()中baseurl的各种排列

0 投票
0 回答
483 浏览

android - 使用 AnimatedVectorDrawable 导致剪切到图标 Android

开始前我想告诉我我正在使用Vect Align库来变形这两个图像

图标

开始图标 (SVG):https ://storage.googleapis.com/material-icons/external-assets/v1/icons/svg/ic_menu_white_24px.svg

结束图标 (SVG):https ://storage.googleapis.com/material-icons/external-assets/v1/icons/svg/ic_close_white_24px.svg

Vect Align生成的路径

起始路径(drawer_path): M 3.0,18.0 l 18.0,0.0 l 0.0,-2.0 l -18.0,0.0 l 0.0,2.0 L 3.0,18.0 m 0.0,-5.0 l 18.0,0.0 l 0.0,-2.0 l -18.0,0.0 l 0.0,2.0 L 3.0,13.0 M 3.0,6.0 L 3.0,6.0 L 3.0,6.0 L 3.0,6.0 L 3.0,6.0 L 3.0,6.0 L 3.0,8.0 L 21.0,8.0 L 21.0,6.0 L 3.0,6.0 L 3.0,6.0

结束路径(close_path): M 19.0,6.41 l 0.0,0.0 l 0.0,0.0 l 0.0,0.0 l 0.0,0.0 L 17.59,5.0 m 0.0,0.0 l0.0,0.0 l 0.0,0.0 l 0.0,0.0 l 0.0,0.0 L 12.0,10.59 M 12.0,10.59 L 6.41,5.0 L 5.0,6.41 L 10.59,12.0 L 5.0,17.59 L 6.41,19.0 L 12.0,13.41 L 17.59,19.0 L 19.0,17.59 L 13.41,12.0 L 19.0,6.41

问题截图 设备-2015-11-05-164520

项目中的 XML 文件:

矢量文件 (ic_drawer.xml):

动画矢量文件 (ic_drawer_to_close.xml):

动画文件 (drawer_to_close.xml):

我希望有人能帮助我解决这个问题。