Android 调用12306接口,GitHub - AndroidyxChen/loading-12306: 仿PC端12306的刷新loading的自定义view...

loading-12306

仿PC端12306的刷新loading的自定义view

效果图:

9f8eb196704a40647ff1e37f9780b8e6.gif

核心代码及实现逻辑如下:

mPaint.setColor(mColor);

mPaint.setTextSize(50);

//1、动画开启前,theCircle的初始值为-1,所以初始化时只走canvas.drawCircle()方法,即所有位置均为蓝色

//2、动画开启后,theCircle=0时不改变颜色,即所有位置均为蓝色

//3、继续,theCircle=1、i=2时,第一个位置依旧为蓝色,第二个及剩余其他位置为灰色

//4、继续,theCircle=2,i=3时,第一、二个位置依旧为蓝色,第三个及剩余其他位置为灰色

//5、......

//6、theCircle=11,i=12时,第一到十一个位置全部为蓝色,剩余的第十二个为灰色

//7、直到,theCircle=0,循环继续

//注:思路重点为,Paint使用的是同一个,所以在重新setColor()前的颜色是一样的,setColor()后的颜色是另一样的

for (int i = 1; i <= 12; i++) {

if (theCircle + 1 == i && theCircle != 0) {

mPaint.setColor(getResources().getColor(R.color.colorPassGray));

}

canvas.drawCircle(width / 2 + (float) Math.sin(Math.PI * (i - 1) / 6) * mHLength,

height / 2 - (float) Math.cos(Math.PI * (i - 1) / 6) * mHLength, mRadius, mPaint);

//Math.PI即为π,等于180度

}

---------------------------------------------------------------------------------------------------------

animator = ValueAnimator.ofInt(0, 12);

animator.setDuration(2000);//动画时长

animator.setRepeatMode(ValueAnimator.RESTART);//动画的重复次数

animator.setRepeatCount(ValueAnimator.INFINITE);//动画的重复模式

animator.setInterpolator(new LinearInterpolator());//线性插值器:匀速动画

//监听动画过程

animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

//获取当前动画的进度值,此处的theCircle值为(0、1、2...11、0)

theCircle = ((int) animation.getAnimatedValue() % 12);

invalidate();

}

});

本demo已发表在本人的CSDN上,详细内容可到CSDN查看

作者:不二程序员

来源:CSDN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FreeBSD 下的 MySQL 备份方案

作/译者&#xff1a;叶金荣&#xff08;Email: &#xff09;&#xff0c;来源&#xff1a;http://imysql.cn&#xff0c;转载请注明作/译者和出处&#xff0c;并且不能用于商业用途&#xff0c;违者必究。核心提示&#xff1a;如何在 FreeBSD 下实现 MySQL 的全量及增量备份&am…

IdentityServer4(八)使用EntityFramework Core对数据进行持久化

上几篇&#xff0c;我们创建了客户端&#xff0c;scope&#xff0c;启动时&#xff0c;IdentityServer把这些配置数据加载至内存&#xff0c;但是&#xff0c;如果我们想要更改配置&#xff0c;就必须停掉IdentityServer&#xff0c;然后重新启动。且IdentityServe在r运行过程中…

centos 重启网卡_CentOS7网络配置和修改网卡名称及常用服务管理命令

1.设置IP地址和网关及DNSCentOS7里面的网卡名称不在是eth0,1,2而改成enoxxxxxx的格式&#xff0c;en代表的是enthernet以太网&#xff0c;o代表onboard内置&#xff0c;这种新的方式不但长&#xff0c;而且难记&#xff0c;不过优点也比较突出&#xff0c;有编号唯一性&#xf…

android平板 useragent,移动端适配 user-Agent

用navigator结合正则表达式来判断 打开网址的来源function getOrin() {if((navigator..match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobuserAgentile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {/*window.l…

推荐曹济的FPA培训课程

下面是课程的相关内容&#xff0c;供参考&#xff0c;如果有可能&#xff0c;也帮着推荐给别的同事&#xff0c;谢谢&#xff01; 软件功能点估算原理及实践课程说明&#xff1a;http://www.suiji.com.cn/FPA1.htm 功能点应用领域&#xff1a;http://www.suiji.com.cn/FPuse.ht…

C# 中的动态类型

翻译自 Camilo Reyes 2018年10月15日的文章 《Working with the Dynamic Type in C#》 [1] .NET 4 中引入了动态类型。动态对象使您可以处理诸如 JSON 文档之类的结构&#xff0c;这些结构的组成可能要到运行时才能知道。在本文中&#xff0c;Camilo Reyes 解释了如何使用动态…

python根据列表绘制柱状图_python把一个列表画柱状图

原博文 2018-10-18 14:28 − https://blog.csdn.net/w113691/article/details/80385534... 相关推荐 2019-12-07 19:38 − 用python画简单的树 代码如下&#xff1a; import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): time.sleep(0.00…

html 页面工具,html页面工具-htmlUnit

HtmlUnit测试工具的推出&#xff0c;创意非常好。是一款给java开发用的browser。说它是browser&#xff0c;其实它是对html建模并且提供API来访问页面&#xff0c;点击链接等等的java类库。这样的测试工具有这样几个优点&#xff1a;运行起来没有界面&#xff0c;速度非常快。由…

基于电子邮件的InfoPath表单发布的注意点 [Infopath 2007]

让我们先来看看InfoPath 2007提供的其他几种发布方案&#xff1a;1. 将InfoPath模板发布到SharePoint Server或者InfoPath Form Server2. 将InfoPath模板制作成一个安装程序3. 将InfoPath模板发布到一个共享网络地址上方案1,3 都必须依赖已有服务器或网络&#xff0c;而方案2 则…

如何在 C# 8 中使用 Index 和 Range

C# 8 中有几个比较好玩的新特性&#xff0c;比如下面的这两个&#xff1a;System.Index 和 System.Range&#xff0c;分别对应着索引和切片操作&#xff0c;这篇文章将会讨论这两个类的使用。System.Index 和 System.Range 结构体 可以用它们在运行时对集合进行 index 和 slice…

python 廖雪峰数据分析统计服_廖雪峰python教程阅读量统计

统计了下廖老师的python教程各个小节的阅读量&#xff08;毫无卵用&#xff09;&#xff0c;廖老师网站反爬做的比我们教务系统可是好多了&#xff0c;一定时间内访问次数多会禁止&#xff0c;反正数据量也不多&#xff0c;就慢慢来&#xff0c;基本上也不会对网站造成什么影响…

html点击图片弹出大图特效代码,Jquery 点击图片在弹出层显示大图

使用jquery&#xff0c;实现点击图片在弹出层显示大图&#xff0c;再次点击关闭&#xff0c;加入图片高宽和窗口高宽的大小判断。效果图片如下&#xff1a;1.点击前的效果&#xff1a;2.点击后的效果&#xff1a;html代码如下&#xff1a;弹出层图片Js代码如下&#xff1a;$(fu…

使用ClickOnce部署VS2005中的WinForm应用程序.(ZT)

使用ClickOnce部署VS2005中的WinForm应用程序/Files/chinhr/AA.rarTrackBack:http://blog.oracle.com.cn/155011/viewspace_3603.html

Hybrid-APP技术原理

源宝导读&#xff1a;Hybrid-APP技术不仅具有“Native APP的良好交互体验”同时也具备“Web APP跨平台开发的优势”。既然Hybrid-APP有这么多优势&#xff0c;那么究竟什么样的APP才算Hybrid App呢&#xff1f;本文将分享我们的技术研究成果。一、什么是Hybrid-APP狭义的Hybrid…

复旦计算机考研英语,2020考研复旦计算机专硕392经验贴

2020考研复旦计算机专硕392经验贴之前立flag上岸要写经验贴的&#xff0c;谁知今年复试时间跟初试一样长了&#xff0c;想说的都忘了。。但还是写一份吧每个人情况都不同&#xff0c;每个人都有自己的学习节奏&#xff0c;只希望在你焦虑的(我是这样的)看完这些经验贴后&#x…

基于微软ASP.NET AJAX框架开发幻灯片播放网页

一、 简介 最近&#xff0c;微软ASP.NET Ajax 1.0框架以其完整的基于Ajax的web开发方案呈现在web技术人员的前面&#xff0c;凭借与遗留ASP.NET系统的有机整合以及完全面向对象的客户端JavaScript组件模型两大绝杀正在引起越来越多的基于.NET平台的web开发者的关注。本文应该属…

推荐:.Net 5开源免费的内容管理系统

背景介绍内容管理系统&#xff08;content management system&#xff0c;CMS&#xff09;是一种位于WEB 前端&#xff08;Web 服务器&#xff09;和后端办公系统或流程&#xff08;内容创作、编辑&#xff09;之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理…

python怎么安装开发版_python - easy_install的安装和使用

为什么要装easy_install? 正常情况下&#xff0c;我们要给Python安装第三方的扩展包&#xff0c;我们必须下载压缩包&#xff0c;解压缩到一个目录&#xff0c;然后命令行或者终端打开这个目录&#xff0c;然后执行 python setup.py install 来进行安装。 这样是不是很繁琐呢&…

河南信息工程学校计算机组装比赛,计算机技术系承办2019全员化试点项目计算机网络装调赛项...

2019年10月16日&#xff0c;由河南省教育厅主办、河南省职业教研室承办的技能竞赛全员化试点项目“计算机网络装调”赛项在河南信息工程学校开赛&#xff0c;来自全省37所学校的96名选手同台竞技&#xff0c;和谐交流。“计算机网络装调”赛项是2019年河南省中职教育技能竞赛的…

常用網址

论坛&#xff1a; [url]www.smth.org[/url] 水木社区bbs.fobshanghai.com 福步论坛英语&#xff1a; [url]http://www.examda.com/syyy/msyy/[/url]   面试英…