本文手把手教你图片->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平滑的涂鸦效果实例
# 可以看到
# 大佬
# 我也
# 几个
# 支付宝
# 外圈
# 我只
# 我们可以
# 有多
# 购物车
# 小编
# 进行了
# 博文
# 这是
# 酷炫
# 我想
# 我就
# 给我
# 都有
# 会有
相关文章:
C#如何在一个XML文件中查找并替换文本内容
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
如何用腾讯建站主机快速创建免费网站?
如何通过网站建站时间优化SEO与用户体验?
家庭服务器如何搭建个人网站?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
网站设计制作公司地址,网站建设比较好的公司都有哪些?
建站之星安装模板失败:服务器环境不兼容?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何在Golang中指定模块版本_使用go.mod控制版本号
建站主机选购指南:核心配置与性价比推荐解析
北京网站制作的公司有哪些,北京白云观官方网站?
建站VPS选购需注意哪些关键参数?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何彻底删除建站之星生成的Banner?
如何续费美橙建站之星域名及服务?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何快速查询网址的建站时间与历史轨迹?
网站app免费制作软件,能免费看各大网站视频的手机app?
如何访问已购建站主机并解决登录问题?
nginx修改上传文件大小限制的方法
建站DNS解析失败?如何正确配置域名服务器?
江苏网站制作公司有哪些,江苏书法考级官方网站?
如何选择高效可靠的多用户建站源码资源?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
制作网站外包平台,自动化接单网站有哪些?
定制建站是什么?如何实现个性化需求?
如何选择适配移动端的WAP自助建站平台?
建站之星导航配置指南:自助建站与SEO优化全解析
如何用搬瓦工VPS快速搭建个人网站?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何快速搭建高效WAP手机网站吸引移动用户?
建站主机默认首页配置指南:核心功能与访问路径优化
如何用低价快速搭建高质量网站?
如何在阿里云购买域名并搭建网站?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
宝塔面板如何快速创建新站点?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
大连网站设计制作招聘信息,大连投诉网站有哪些?
如何批量查询域名的建站时间记录?
建站之星各版本价格是多少?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
如何用虚拟主机快速搭建网站?详细步骤解析
建站主机类型有哪些?如何正确选型
已有域名如何快速搭建专属网站?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
如何快速生成专业多端适配建站电话?
建站之星官网登录失败?如何快速解决?
*请认真填写需求信息,我们会在24小时内与您取得联系。