问题标签 [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 投票
0 回答
898 浏览

android - Android 5.0:在运行时以编程方式更改 VectorDrawable 上的 scaleX 属性

我正在尝试使用 Android Lollipop 的新 VectorDrawable API 来让图像在运行时动态缩放(根据应用程序状态变得越来越小)。据我了解,这种可绘制对象的 group 元素的 scaleX 和 scaleY 属性是导致它被放大或缩小的原因。在查看 API 后,我尝试了以下操作但无济于事:

在styles.xml中以此为主题:

但是,这根本行不通。我确信我做错了什么,主要是因为我没有太多在运行时修改其他 Drawable 的经验。有没有人知道任何方法来实现这样的事情?

0 投票
1 回答
701 浏览

android - Vector Drawable 内存效率高吗?

很抱歉提出一个明显的问题(?),但它让我困扰了一段时间。我正在使用 Glide 进行图像加载,并发现它在内存管理方面非常好。现在我正在考虑在 MrVector 的帮助下转向 Vector drawables。我真的需要担心内存管理吗?

有关更多信息,我在 JPG 中的每个大小为 200KB-300KB 的图像在矢量绘图中将变成 20-30 KB。如果此信息有助于回答问题。谢谢

0 投票
1 回答
1953 浏览

android - 在运行时添加动画

我想AnimatedVectorDrawable在运行时为我的动画而不使用.xml文件。实际上,我使用.xml文件的方式与文档示例显示的方式相同:

AnimatedVectorDrawable

所以,我有 嵌套的vector_drawable.xml包含并定义了一个形状。<vector><group><path>

对于这个向量,我已经animated_vector_drawable.xml包含<animated-vector>android:animation分配给<target>.

最后一步是定义一个动画文件,rotation.xml使用<objectAnimator>animated_vector_drawable.xml

一切正常,但是当我需要使用许多不同或相似的动画创建许多不同的形状(矢量)时,问题就出现了,因为这会生成许多.xml文件。

  1. 我不能<vector>从一个.xml文件到另一个文件(某种<include>标签)包含准备好的和准备好的,所以我需要将相同的代码复制到另一个文件。这很烦人。

  2. 如果我想对几个<target>元素使用相同的动画,但每个动画必须有不同的延迟或任何属性值(,,,alpha... rotationinterpolator,我必须创建.xml包含更改了一个属性值的新文件<objectAnimator>,而不是使用相同的一个文件具有更改的属性值。这也很烦人。

  3. 我发现我可以使用ObjectAnimator和设置alpha& fillColorforAnimatedVectorDrawable但是当我想更改它的 , 或任何其他属性时会translateX出现问题translateYrotation有没有办法做到这一点.xml。我只想访问<group>

0 投票
1 回答
587 浏览

android - Android CanvasWatchFaceService.Engine onDraw 绘制矢量xml

我有一个 VectorDrawable xml,在为 android 创建表盘时,在 onDraw(Canvas canvas, Rect bounds) 方法中,我可以绘制这个 vectorDrawable 吗?像canvas.draw(vector.xml)一样,我不知道怎么做,请帮忙!

0 投票
2 回答
2249 浏览

android - Android Vector Drawable 与 SVG 路径不同

创建了一个 svg 图标(效果很好)但是,当在 android 中显示为矢量可绘制时,其中一个路径不会呈现相同的内容。这是原始的svg路径:

这就是它的样子:

svg 路径

安卓路径:

以及它的外观:

安卓路径

PS android studio 让它变得模糊,但这不是问题,它在 Android lollipop 上渲染得尽可能清晰。

问题是4中的洞被填满了。即使两条路径大多相同(唯一的区别是在第一个坐标之后添加了“l”。但如果我删除它,则 4 根本不会渲染)。

0 投票
2 回答
2491 浏览

android - Android中SVG和VectorDrawable的区别

Android虽然支持SVG,为什么要转成VectorDrawable呢?

此代码示例显示 Android 中的 SVG:

0 投票
2 回答
12384 浏览

android - InflateException:为 VectorDrawableCompat 膨胀类 ImageView 时出错

VectorDrawableCompat终于进入了 SDK 23 中的支持库。但它似乎不起作用,或者我可能遗漏了一些东西。

drawable/mypic.xml

fragment_bla.xml

此代码适用于 Lollipop,但不适用于 KitKat。我错过了什么?


例外:

0 投票
3 回答
3114 浏览

android - 是否可以从文件系统(*.xml 文件)创建 VectorDrawable

我正在尝试在我的 Android 应用程序中使用 VectorDrawables。
我想从文件系统加载一个 xml 文件并获取一个 Instance 以android.graphics.Drawable将其显示在ImageView. 如果我将 xml 文件添加到 Resources 目录,它就可以工作。但是当我尝试从文件系统加载它时,我总是得到一个 NullPointer。

我目前正在尝试通过 Drawable.createFromPath(*Path to File*)或加载文件VectorDrawable.createFromPath(*Path to File*),但我不断收到 NullPointer。该文件存在并且是一个有效的 xml 文件(见下文)。

在 adb 日志中,我总是得到:

当我使用 mContext.getFilesDir()路径看起来像

我还尝试了一些公共文件夹,例如“下载”。当我使用 File.io Api 检查文件时exists()canRead()canWrite()

更新这是从 android Dev Pages 获取的 XML 代码

0 投票
1 回答
5320 浏览

android - Android-如何在矢量图上实现中心缩放动画

我最近开始涉足矢量图像和动画。但是,一旦路径变形动画完成,我希望能够在所有方向上均匀地缩放我的图像。

我已经尝试过尽可能地应用 pivotX 和 Y,但它似乎并没有什么不同。

我怎样才能实现一个中心规模,而不是只是从左到右扩展?

test_layout.xml

动画徽标.xml

比例动画

closed_logo.xml

0 投票
17 回答
206821 浏览

android - 在 Android Studio 中更改矢量资产的填充颜色

Android Studio 现在支持 21+ 的矢量资源,并将在编译时为较低版本生成 png。我有一个要更改填充颜色的矢量资产(来自 Material Icons)。这适用于 21+,但生成的 png 不会改变颜色。有没有办法做到这一点?