博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android xml 加载动画,使用css实现android系统的loading加载动画
阅读量:5857 次
发布时间:2019-06-19

本文共 959 字,大约阅读时间需要 3 分钟。

web常用的loading图标有2种, 一种是ios的"菊花", 一种是android的"环". 今天我们用svg实现android的"环"动画, 下节课实现ios的"菊花".

0a67e320950a2bd554c52c0f3d09526a.gif

注意 : gif帧数少的原因, 实际动画效果是很 平滑

的.

xml(svg)

首先我们定义svg的画布尺寸为 50×50 , 在浏览器中缩放为 36×36 显示(这个36你可以根据实际需要调整), 定义环的圆心坐标为 25,25 , 半径为20 (算下 周长大概为125 , 后面会用到), 颜色为 currentColor 获取父元素的color属性的值, 环的宽度为5像素, 看下在没写css前的效果:

a04a45b099c24e14d2d8a280e8c0e835.png

scss

.a-loading {

&-android {

animation: rotate 2s linear infinite;

transform-origin: center center;

>circle {

display: inline-block;

animation: dash 1500ms ease-in-out infinite;

stroke-linecap: round; // 端点是圆形

color: currentColor;

}

@keyframes rotate {

100% {

transform: rotate(360deg);

}

}

@keyframes dash {

0% {

stroke-dasharray: 1, 200;

}

50% {

stroke-dasharray: 100, 200;

stroke-dashoffset: -45;

}

100% {

stroke-dasharray: 100, 200;

stroke-dashoffset: -124;

}

}

}

}

stroke-dasharray

先解释stroke-dasharray , 他是用来定义虚线的, 比如 stroke-dasharray="50, 20" 表示实线部分为50, 间隙20的虚线:

33997c67b55282e60b42462cc08afadb.png

449969bb420057df22315239b6301310.png

试想一下, 如果环也用虚线表示, 并且让 单位实线 部分的长度在环的周长范围内变化,这不就实现了(半环/满环等形态), 下面分别是stroke-dasharray 的值为 25, 200 /

转载地址:http://fqajx.baihongyu.com/

你可能感兴趣的文章
PHP数组转换为js数组
查看>>
ES6之Iterator、Generator
查看>>
解决axios 跨域问题 - 服务端修改
查看>>
管理python程序的db schema
查看>>
webpack -> vue Component 从入门到放弃(四)
查看>>
OkHttp3学习(一):基本使用
查看>>
Python爬虫基础
查看>>
敲黑板,划重点:Docker 1.13更新有哪些看点?
查看>>
阅读者(29):《精益企业》——高绩效组织如何规模化创新
查看>>
2017年InfoQ最受欢迎30项内容清单
查看>>
C2x将成为C语言的下一个ISO标准
查看>>
IPv6新形势下的安全解决方案
查看>>
白话中台战略:中台是个什么鬼?
查看>>
对《Clojure in Action》第二版的书评与作者问答
查看>>
QCon北京2015:移动开发最佳实践专题前瞻
查看>>
AWS推出OpenJDK长期支持版本Amazon Corretto
查看>>
将团队迁移到可视化项目管理软件
查看>>
Mozilla开发全新的公开网络API WebXR 来实现增强现实
查看>>
Eclipse基金会发布MicroProfile 2.2,适用于Java微服务
查看>>
AI+社交,快手商业化落地之道
查看>>