Android 加载SVG动画

SVG 可以说是目前比较流行的图片格式,使用领域也十分广泛,例如:web 前端页面,Android ios 等移动应用。都可以使用 SVG 的图片格式。今天就要和大家谈一谈 SVG 在 Android 中的应用,SVG 的引入其实在我之前的文章里已经有谈到。其实 这个文章就是 Android 加载 SVG 的原理。文章地址点击进入(Path

的高级用法)。还有一篇是谈到用 Path 写的例子,仿滴滴打车倒计时效果,为什么要谈这个文章,因为这篇文章,告诉我们这个

Path 高级用法 能 把复杂的效果用很简单的方式实现,也很好理解,增大了我们 view 的绘制效率。

今天主要谈的是 Path 的 SVG 的应用。其实很简单,经过我们上两篇文章的理解,看过的朋友应该知道这个原理。就是我们只要能获得到一个绘制的 "路径",我们就能把这个动态的效果给实现。先看图:(图片百度的)

所以主要问题就是如何获取到 "路径",我们找到原因了。那 SVG 格式的图片是什么?我们能从这图片里面拿到什么? 能拿到 "路径" 吗?答案是肯定的。

既然能拿到路径,我们来看看 一个 svg 格式的图片是什么样的 ,路径在哪里?

下面是一个 svg 格式图片打开的内容:

我们能看到,哟哟哟!!!这不就是 xml 吗?里面有个标签叫 难道这就是我们需要的那个 path 路径 吗?对的 这就是我们需要的 path 路径了。所以我们只要 让美工 给我们一个 具有 path 标签的 svg 格式的图片,美工给你的 svg 的格式图片 你一定要在 as 里面打开看看 ,因为 我之前就被坑了。美工给我一个 svg

图片 怎么加载结果就是没有 动画效果,折腾了很久 发现 他给的 svg 格式的图片 里面根本就没有 path 路径,这个美工在作图的时候要注意 ,svg 生成的 方式。不能太随意哟哟。

我们看到里面有很多 标签 ,标签里面有很多属性 如: 颜色 线宽 透明度 等。每一个 path 标签就代表我们一个路径,所以我们才能看到有很多的线 在 绘制。而且是同时绘制的。

那好了,到了这里我们需要的 path 也有了,那问题来了。我们怎么拿到这个 path ??

这是一个问题。

但是 GitHub 上面已经有框架了: https://github.com/geftimov/android-pathview 我们用就行了。哈哈哈

拿来直接干。

使用 步骤:

1. 第一是把 jar 包导入到 lib 下面

2. 我们需要的 svg 格式的图片

3. 拿到两个类:PathView 和 SvgUtils,

这两类在 上面的 GitHub 里面有拿到我们的项目中就行了。

4. 在 xml 中加载我们的 svg 图片

android:id="@+id/pathView"android:layout_width="match_parent"android:layout_height="match_parent"

android:layout_centerInParent="true"app:pathColor="@android:color/white"

app:svg="@raw/chart"app:pathWidth="5"/>

PathView 是我们上面的那个类。

5. 在 activity 中 实例化对象:

finalPathViewpathView=(PathView)findViewById(R.id.pathView);

pathView.setFillAfter(true);

pathView.useNaturalColors();

pathView.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){

pathView.getPathAnimator().delay(100).duration(1500).interpolator(newAccelerateDecelerateInterpolator()).start();

}

});

并 调用 开始方法。

以上就是 Android 加载 SVG 的实现方法了,大家一起学习,有错误请指出来,谢谢。

来源: http://blog.csdn.net/wangrain1/article/details/75254583

android 载入svg动画,Android 加载SVG动画相关推荐

  1. android菊花动画,Android实现仿iOS菊花加载圈动画效果

    常见的实现方式 切图,做旋转动画 自定义View,绘制效果 gif图 1.切图会增加体积,但相对简单,不过在换肤的场景下,会使用不同颜色,需要准备多张图,不够灵活. 2.由于自定义的好处,不同颜色只需 ...

  2. android 自定义加载动画效果,Android 自定义View修炼-自定义加载进度动画LoadingImageView...

    一.概述 本自定义View,是加载进度动画的自定义View,继承于ImageView来实现,主要实现蒙层加载进度的加载进度效果. 支持水平左右加载和垂直上下加载四个方向,同时也支持自定义蒙层进度颜色. ...

  3. ios 旋转加载gif_加载GIF动画方法 iOS

    方法一 使用UIWebView _codeStr为gif网址      如果是本地的gif可以直接使用dataWithContentsOfFile方法 NSData *data = [NSData d ...

  4. html实现图片加载动画效果,HTML5+javascript实现图片加载进度动画效果

    在网上找资料的时候,看到网上有图片加载进度的效果,手痒就自己也写了一个. 图片加载完后,隐藏loading效果. 想看加载效果,请ctrel+F5强制刷新或者清理缓存. 效果预览: 0% 代码如下: ...

  5. 安卓设置菊花动画_Android实现ProgressBar旋转菊花加载的动画

    Android实现ProgressBar旋转菊花加载的动画 在一些常见到的加载中需要显示一个加载动画,如旋转的菊花这样的动画效果,开发中有两种方案,一种是直接让设计师给出一个gif图片,然后写入到布局 ...

  6. 安卓设置菊花动画_Android实现ProgressBar旋转菊花加载的动画详解

    Android实现ProgressBar旋转菊花加载的动画 在一些常见到的加载中需要显示一个加载动画,如旋转的菊花这样的动画效果,开发中有两种方案,一种是直接让设计师给出一个gif图片,然后写入到布局 ...

  7. MFC加载GIF动画

    在一个项目中需要使用MFC直接加载GIF动画.加载GIF动画网上有多种方式,大多数是将GIF填进资源,使用PictureEx类load资源文件  如下: PictureEx图片显示类支持以下格式的图片 ...

  8. html5点赞仿抖音,iOS仿抖音—加载点赞动画效果

    iOS仿抖音短视频 前言 前段时间比较忙,最近终于有时间就继续对仿抖音的demo进行更新,本次更新的主要是抖音上的几种动画,下面先来看下效果图: 抖音 说明 经过观察发现抖音主要要以下几种动画效果: ...

  9. android中读取svg文件,Android如何加载SVG格式的矢量图

    为何要加载SVG图片 相对于.JPG和.PNG甚至.webp的图片来说,SVG的图片有两个优点,第一:省空间,APK瘦身有一个方面就是从图片瘦身,使用SVG图片可以大量减轻程序的大小.第二:省时间,切 ...

最新文章

  1. 计蒜客 时间复杂度 (模拟) 洛谷 P3952 时间复杂度
  2. JPA J2SE 桌面应用范例
  3. Android studio使用git切换分支开发的方法(图文教程)
  4. 函数局部有界性定理_高数第五章多元函数微分学
  5. java 多态_Java基础深度总结:多态
  6. Ubuntu Server 18.04 安装
  7. XP SP3多数功能借鉴Vista 安装将无需密码
  8. 生物充电 - 利用树干生物电给无线传感器供电
  9. WINRAR诊断信息:不可预料的压缩文件末端
  10. ZoomIt使用方法详解
  11. 利用Power BI制作RFM客户分析模型
  12. 把《把时间当作朋友》读薄
  13. 高考导数大题中的双变量不等式问题的求解思路
  14. 微信小程序 python 自动化测试_微信小程序的自动化测试框架
  15. 绘制帧率与实际显示时帧率不同步,怎么测得显示帧率?
  16. 利用机器学习进行管理风险
  17. 【diannaoxitong】支付宝余额宝是什么?阿里巴巴余额宝功能介绍
  18. dma-buf 由浅入深(六) —— begin / end cpu_access
  19. 如何选择社群裂变工具?快鲸scrm社群裂变工具优势明显
  20. 浅谈幼儿园自主游戏中教师的有效介入

热门文章

  1. php 字符串转换为函数是,php把字符串转换成html实体的函数htmlentities()
  2. 计算机电源 4pin,用电脑电源4PIN接口做的2mm插头插座,省钱方便~
  3. linux 驱动笔记(一)
  4. Android 将drawable下的图片转换成bitmap、Drawable
  5. linux进程cpu时间片,Linux性能监控之CPU篇
  6. Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
  7. RPA机器人技术一般用于什么行业?
  8. QtCreator中Kits选项变灰,有感叹号
  9. ch341a刷写华擎(ASROCK)主板BIOS教程
  10. echarts二次渲染时宽高为0图表不显示