【发布时间】:2018-06-20 15:54:51
【问题描述】:
我有一个电池图标,我想“动画化”,更改填充路径的长度以指示电池百分比。但是,SVG 和 SVG 动画的 android 文档表明您只能通过 xml 添加预定义的动画。有没有办法简单地改变 SVG 的路径并重新绘制它?
即SVG.setPath("new path")?
我能想到的唯一其他选择是为图标的“丰满度”制作单独的动画(10%、20%、30% 等),但这似乎很乏味。
【问题讨论】:
-
为此,您需要创建自定义 SVG 类
-
我将如何继续更改自定义类中的路径?例如,假设我们可以从 ImageView 中获取 Drawable..
-
您真的在使用 SVG 吗?还是您真的是指 VectorDrawable?您现在如何显示电池图标?
-
通过 Vector Asset 向导导入,保存为 ic_battery.xml。我可以在一个活动中以 Drawable(或 VectorDrawable)的形式获取它。我知道要编辑的路径和坐标,所以我想在运行时“更改 xml”,然后重新渲染图像。例如,默认 svg 的路径长度为 0 表示电池充满,然后我以编程方式将其设置为长度 50 表示 50% 充满。为此,我只需要能够更改路径,不一定要对其进行动画处理。
标签: android android-layout animation svg drawable