本文手把手教你图片->SVG->Path的姿势.。

从此酷炫Path动画,如此简单。
效果先随便上几个图,以后你找到的图有多精彩,gif就有多精彩:
随便搜了一个铅笔画的图,丢进去
随手复制的二维码icon
来自大佬wing的铁塔
前文回顾
这里简单回顾一下前文,GIF如下图:
PathAnimView接受的唯一数据源是Path(给我一个Path,还你一个动画View)
所以内置了几种将别的资源->Path的方法:
//根据String 转化成Path
setSourcePath(PathParserUtils.getPathFromArrayFloatList(StoreHousePath.getPath("ZhangXuTong", 1.1f, 16)));
//动态设置 从StringArray里取 storeView2.setSourcePath(PathParserUtils.getPathFromStringArray(this, R.array.storehouse, 3));
//SVG转-》path
//还在完善中,我从github上找了如下工具类,发现简单的SVG可以转path,复杂点的 就乱了
/* SvgPathParser svgPathParser = new SvgPathParser();
try {
Path path = svgPathParser.parsePath("M1,1 L1,50 L50,50 L50,50 L50,1 Z");
storeView3.setSourcePath(path);
} catch (ParseException e) {
e.printStackTrace();
}*/
当时我称之为简单的SVG ,因为当时我对SVG也不是很懂,现在经过一段时间的学习和基友们的讨论(wing神,白神,群友等),我才知道我从gayhub上找到的这个工具类,是可以将标准的SVG转换为Android中的Path(android.graphics.Path)的。
之前的痛点
之前我转换失败的,所谓 复杂的SVG,其实是我直接利用AS生成的vector(我称之android svg)。里面对标准SVG进行了一些语法的扩充,才导致我转换的失败。(例如扩充了 S,Q等标记)
例如我们利用AS的工具,直接生成一个Android机器人的icon的Vector,之前我以为这就是SVG数据了,实际上我发现这是对标准SVG进行了扩展,
生成的数据如下:
标红处可以看到,1.5s, s并不在标准的SVG语法中,所以解析会出错。
图片->SVG->Path的正确姿势
那么为什么我今天又敢出来写(zhuang)博(b)客了呢,因为我已经有了解决这个问题的方案。
好,让我们想一下,实际开发中,如果要用Path动画,我们的场景是什么?
嗯,看到一张想要她动的图,或 UI妹子给了你一张,让你自己动的图。
步骤一:图->SVG
利用vmde软件,我们可以轻松完成将图->SVG。(大佬wing提供的方案)
首先我们先get一张喜欢的图,可以从Iconfont里取,下载方式直接不要选SVG,这里的SVG直接使用会有问题,原因不明.我们就选PNG下载即可。
然后打开vmde软件
其实现在我们已经可以用一些文本编辑工具直接打开SVG,并且复制其中的PathData,以String形式传入PathAnimView即可。
Path path = svgPathParser.parsePath(pathString); storeView3.setSourcePath(path);
嗯,方法其实就这么简单,但是~有很多的图,是有N段PathData的,也就是说复制起来极其麻烦,
而且如果要从中剔除一些不需要的Path,或者改变几个Path的绘制顺序,就更难筛选了。
步骤二:利用工具网站预览Path
于是我就求白神给我做了一个工具页面,它可以完成SVG的解析、预览、并将每段Path分隔开,方便我们复制黏贴。
http://liuyouth.github.io/utils/svg2android/index.html
使用方式也相当简单,直接拖动SVG的图丢进去即可。
解析后的效果图
可以看到,我们可以方便的选取每一段Path,如果我只需要最外面的齿轮,那我只对齿轮部分点击select all即可。
也可以调整顺序,例如我想先绘制外圈,就将外圈的Path放在前面复制进我们的app中。
这里再拿文首第一张妹子图举例:
经过PNG->SVG->预览的步骤后,如下:
vmde给我们生成了海量的path数据,我们只想要其中一部分有用的,
于是通过预览&放大,我只复制了两段Path,效果就如文首了。
关于这个网站,白神已经承诺我,会尽快加上图片预览的放大和一键复制全部Path的功能,大家敬请期待。
手摸手实战:支付宝支付成功动画
其实支付宝支付成功动画相当简单,路径 就是画一个圆 + 一个勾.
路径的获取,可以:
我们利用本文的办法去实现:
1 拿到这张图
2 PNG丢进vmde
3 SVG丢进工具网页
4 根据预览,依次复制一个圆 + 一个勾的String。
String success = "...PathString";
5 利用SvgPathParser工具类得到Path
Path path = svgPathParser.parsePath(success);
6 设置给PathAnimView.
storeView3.setSourcePath(path);
效果图:
总结
代码传送门:喜欢的话,随手点个star。多谢
https://github.com/mcxtzhang/PathAnimView
现在我们已经可以做到,I have a pic.I have a view. Oh~,Path(Anim)View.
步骤:
在提取出SVG中的Path数据后,我个人喜欢将比较长的Path,放进values目录下一个新建文件paths.xml中,以以下形式存储:
<string name="xxx"> 复制过来的Path数据</string>
Java代码中如下设置:
String xxx= getString(R.string.xxx); Path path = svgPathParser.parsePath(xxx); storeView.setSourcePath(path);
想了解更详细的使用以及细节,请下载DEMO后查看。
看大神们都有QQ群,
向他们靠齐。
我也建了个QQ搞基交流群:
557266366 。
下文预告
最近略忙,项目电商模块重构,UI升级,于是我撸了一个购物车的控件:
项目中使用的效果
图录花了,我也不管了。。下次博文重新录个图吧,大家重点看购物车伸缩旋转闪转腾挪的动画即可。
代码已经撸完,考虑到了View的回收复用,
并且可以看到在RecyclerView中使用,切换LayoutManager也是没有问题的,
博文在梳理中,预计下周一输出。
心急可先去gayhub查看代码:
https://github.com/mcxtzhang/AnimShopButton
以上所述是小编给大家介绍的Android自定义View实现支付宝支付成功-极速get花式Path炫酷动画,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# view
# 支付宝支付成功
# Android编程开发之在Canvas中利用Path绘制基本图形(圆形
# 矩形
# 椭圆
# 三角形等)
# Android自定义View系列之Path绘制仿支付宝支付成功动画
# Android Path绘制贝塞尔曲线实现QQ拖拽泡泡
# Android 使用Path实现涂鸦功能
# Android通过Path实现搜索按钮和时钟复杂效果
# Android实现Path平滑的涂鸦效果实例
# 可以看到
# 大佬
# 我也
# 几个
# 支付宝
# 外圈
# 我只
# 我们可以
# 有多
# 购物车
# 小编
# 进行了
# 博文
# 这是
# 酷炫
# 我想
# 我就
# 给我
# 都有
# 会有
相关文章:
简单实现Android文件上传
如何快速上传自定义模板至建站之星?
山东云建站价格为何差异显著?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
浅析上传头像示例及其注意事项
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
广州营销型建站服务商推荐:技术优势与SEO优化解析
哈尔滨网站建设策划,哈尔滨电工证查询网站?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
音响网站制作视频教程,隆霸音响官方网站?
制作表格网站有哪些,线上表格怎么弄?
如何快速配置高效服务器建站软件?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
如何在景安云服务器上绑定域名并配置虚拟主机?
如何用PHP快速搭建高效网站?分步指南
为什么Go需要go mod文件_Go go mod文件作用说明
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
建站主机如何安装配置?新手必看操作指南
,有什么在线背英语单词效率比较高的网站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
如何选择高效可靠的多用户建站源码资源?
,南京靠谱的征婚网站?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
公司网站设计制作厂家,怎么创建自己的一个网站?
如何通过建站之星自助学习解决操作问题?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
php json中文编码为null的解决办法
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
安徽网站建设与外贸建站服务专业定制方案
如何通过服务器快速搭建网站?完整步骤解析
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
高性价比服务器租赁——企业级配置与24小时运维服务
TestNG的testng.xml配置文件怎么写
建站之星代理费用多少?最新价格详情介绍
如何在橙子建站上传落地页?操作指南详解
如何零基础开发自助建站系统?完整教程解析
如何用y主机助手快速搭建网站?
活动邀请函制作网站有哪些,活动邀请函文案?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
网站微信制作软件,如何制作微信链接?
如何选择高效响应式自助建站源码系统?
建站主机空间推荐 高性价比配置与快速部署方案解析
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何做网站制作流程,*游戏网站怎么搭建?
*请认真填写需求信息,我们会在24小时内与您取得联系。