现在的位置: 首页 > 综合 > 正文

Android小项目之五 splash动画效果

2017年12月13日 ⁄ 综合 ⁄ 共 995字 ⁄ 字号 评论关闭

------- 源自梦想永远是你IT事业的好友、只是勇敢地说出我学到! ----------

按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点也都能说出了123来,但是这些孤立的点终究显得太零散了,因此,我想从今天开始,以最经典的手机安全卫士项目为例,自己锻炼一下,也是想和大家交流交流,希望大家都能给出见解,共同进步。

五、splash动画效果

1.实现splash界面至少延迟2秒。
有一些小问题,若客户端的版本与服务端的一样,那么splash界面出现一瞬间就消失了,直接进入主界面。
这时候,我们只需在新线程中加Thread.sleep(2000);,就能让splash至少出现两秒钟。
但是这又带来了新问题,如果连服务器本身就需要很长时间,这样又让其休眠两秒,这样就显得太卡了。
这时候就需要做一下判断,看检查版本所需要的时间是不是大于2000,再做处理。

具体代码:

					long startTime = System.currentTimeMillis();(新线程开始时)
					long endTime = System.currentTimeMillis();
					
					//得到方法执行的时间
					long dTime = endTime-startTime;
					
					//如果执行的时间小于2秒钟,使之达到2秒
					if(dTime<2000){
						try {
							Thread.sleep(2000-dTime);
						} catch (InterruptedException e1) {
							e1.printStackTrace();
						}
					}

2.动画效果
在布局的<RelativeLayout 下增加id:

			android:id="@+id/rl_splash_root"

在activity中找到这个根节点。
在onCreate中:

		/*
		 * 做透明度变化的动画效果
		 */
		AlphaAnimation alphaAnimation = new AlphaAnimation(0.2f, 1.0f);	//设透明度(from,to)
		alphaAnimation.setDuration(2000);								//设置延迟时间
		rl_splash_root.startAnimation(alphaAnimation);					//开始动画


这时,我们就可以看到一个透明度渐变的效果。

------- 源自梦想永远是你IT事业的好友、只是勇敢地说出我学到!
----------

抱歉!评论已关闭.