Android学习笔记(一)--Animation(iparty工程开始界面)
Animations的分类:
Animations从总体来说可以分为两大类:
第一类:Tweened Animations。渐变动画。该类Animations提供了旋转,移动,伸展和淡出等等效果。
第二类:Frame-by-Frame Animations。这一类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间歇一个一个的显示。
Tweened Animations的分类:
1.Alpha:淡入淡出效果
2.Scale:缩放效果
3.Rotate:旋转效果
4.Translate:移动效果
使用Tweened Animations的步骤
1.创建一个AnimationSet对象。
2.根据需要创建相应的Animation对象
3.根据软件动画的需求,为Animation对象设置相应的数据。
4.将Animation对象添加到AnimationSet对象当中。
5.使用控件对象开始执行AnimationSet。
Tween Animations的通用属性
1.setDuration(long durationMills)
设置动画持续时间(单位毫秒)
2.setFillAfter(boolean fillAfter)
如果fillAfter的值为true,则动画执行后,控件将停留在执行结束的状态。
3.setFillBefore(boolean fillBefore)
如果fillBefore的值为true,则动画执行后,控件将回到动画执行前的状态。
4.setStartOffSet(long startOffSet)
设置动画执行之前的等待时间。
5.setRepeatCount(int repeatCount)
设置动画重复执行的次数。
范例:
1 // 渐变展示启动屏 2 //Alpha:淡入淡出效果 3 //两个参数表示从一个什么透明度变化到什么透明度,1代表不透明,0代表完全透明。 4 AlphaAnimation aa = new AlphaAnimation(0.3f, 1.0f); 5 //设置动画持续时间(单位毫秒) 6 aa.setDuration(2000); 7 // View对象开始动画 8 view.startAnimation(aa);
就像Button控件有监听器一样,动画效果也有监听器,只需要实现AnimationListener就可以实现对动画效果的监听。
aa.setAnimationListener(new AnimationListener() { @Override //第一个函数的意思是在动画执行完之后需要开发者做什么 public void onAnimationEnd(Animation arg0) { redirectTo(); } @Override //第二个函数的意思是在动画重复执行的过程中应该做什么 public void onAnimationRepeat(Animation animation) { } @Override //第三个函数的意思是当动画开始执行时有什么动作发生 public void onAnimationStart(Animation animation) { } });
1 /** 2 * 跳转到... 3 */ 4 private void redirectTo() { 5 Intent intent = new Intent(this, Main.class); 6 startActivity(intent); 7 finish(); 8 }