手把手带你实现动态Vector

作者: Xdjm | 来源:发表于2017-03-29 22:38 被阅读263次

首先上效果图

QQ图片20170329221847.gif

(不知道vector是啥玩意的。可以在简书搜vector第一篇就是-_-)

还算ok吧,来,直奔主题

【One】
下载工具vectalign.jar
功能:转换2个svg至vector,并生成转换动画xml
具体详细,不妨百度vectalign
http://pan.baidu.com/s/1qXQUMi4

【Two】
上阿里巴巴图库
http://www.iconfont.cn/
随便找两个svg下载
那么示例如下两个

Image 004.png Image 005.png

【Three】
双击vectalign.jar运行(需配置好java环境)


Image 006.png

点击Load_SVG分别载入两个svg

Image 007.png

不用做任何更改,Export即可

Image 008.png

【Four】
新建工程
在app的build.gradle里加上这句
vectorDrawables.useSupportLibrary = true
目的是使vector兼容5.0以下设备

Image 014.png

再将刚才导出的文件导入
一个是4个xml文件
另一个是anim文件夹

![Image 012.png](https://img.haomeiwen.com/i3780788/a7653ede82b22297.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

完成后如下

Image 013.png

接下来,在布局中加入ImageView,设置app:srcCompat和onClick

Image 015.png

在java中加入以下代码

private boolean a = true;

    public void img(View view){
    ImageView imageView = (ImageView) view;
    AnimatedVectorDrawable morphing_start = (AnimatedVectorDrawable)
     getDrawable(R.drawable.vectalign_animated_vector_drawable_start_to_end);
    AnimatedVectorDrawable morphing_end = (AnimatedVectorDrawable)
   getDrawable(R.drawable.vectalign_animated_vector_drawable_end_to_start);
    AnimatedVectorDrawable morphing=a?morphing_start:morphing_end;
    imageView.setImageDrawable(morphing);
    if (morphing != null)
        morphing.start();
    a=!a;
}

如图

Image 016.png

好了,运行编译即可。

相关文章

  • 手把手带你实现动态Vector

    首先上效果图 (不知道vector是啥玩意的。可以在简书搜vector第一篇就是-_-) 还算ok吧,来,直奔主题...

  • Java中 Vector的使用详解

    Vector 可实现自动增长的对象数组。java.util.vector提供了向量类(Vector)以实现类似动态...

  • Java Collection框架 - Vector

    Java Collection框架 - Vector 基于jdk1.8 简介 Vector也是基于数组实现的动态数...

  • Vector详解(Java)

    Vector是Java的一个List实现类(实现List接口) Vector 类实现了一个动态数组。和 Array...

  • Vue

    vue双向绑定原理及实现从零带你手把手实现Vue3响应式原理-上从零带你手把手实现Vue3响应式原理-下为什么说 ...

  • 2018-11-28

    vector容器。 vector类称为向量类,实现了动态数组,用于元素数组动态变化的对象数组。同数组一样,vect...

  • Vector源码解析

    Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 Vector是JDK1.0引...

  • Java集合之Vector详解

    简介 Vector的内部实现类似于ArrayList,Vector也是基于一个容量能够动态增长的数组来实现的,该类...

  • STL的序列式容器总结

    1. vector 1.1 vector的底层实现 vector本质上就是一个动态数组, 它维护一段连续的内存空间...

  • APP开发实战95-动态Vector基础

    24.5Vector动态图的使用 24.5.1动态Vector基础 动态的Vector需要通过animated-v...

网友评论

    本文标题:手把手带你实现动态Vector

    本文链接:https://www.haomeiwen.com/subject/accjottx.html