我有一个电池图标我希望"动画"如,改变填充路径的长度以指示电池百分比。但是,SVG和SVG动画的android文档表明你只能通过xml添加预定义的动画。有没有办法简单地改变SVG的路径并重绘它?
即。 SVG.setPath("new path")
?
我能想到的唯一另一个选择是为"丰满度"制作单独的动画。图标(一个在10%,20%,30%等),但这似乎非常繁琐。
答案 0 :(得分:0)
我认为this是您需要的图书馆。请试一试。这是一个非常新的图书馆。我自己没试过。在使用之前,请阅读自述文件或库的问题。
答案 1 :(得分:0)
您可以制作CustomView
并覆盖onDraw
。在此方法中,您调用传递canvas.drawPath
实例的Path
。应在onCreate
中创建此对象,并使用您的路径数据“填充”该对象。您需要understand the SVG/VectorDrawable path并找到Path
类的相应方法。您还必须添加一个缩放变量以使其大小可变。在布局XML中,您可以设置所需的大小。
public class CustomView extends View {
Paint paint;
Path path;
public CustomView(Context context) {
super(context);
paint = new Paint();
paint.setColor(Color.RED);
path = // construct your path using Path methods
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
}
}
为了使电池填充状态增大或缩小,当然必须添加更多逻辑。