------- 源自梦想、永远是你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事业的好友、只是勇敢地说出我学到! ----------