Android应用框架支持的补间动画效果有以下5种

一、
AlphaAnimation:透明度(alpha)渐变效果,对应标签。
      TranslateAnimation:位移渐变,需要指定移动点的开始和结束坐标,对应
                 标签。
        ScaleAnimation:缩放渐变,可以指定缩放的参考点,对应标签。
        RotateAnimation:旋转渐变,可以指定旋转的参考点,对应标签。
        AnimationSet:组合渐变,支持组合多种渐变效果,对应标签。多种动画集合,支持加入多种动画效果。


二、补间动画 
  AnimationSet动画集合,提供把多个动画组合成一个组合的机制,并可设置动画的时序关系,如同时播放、顺序播放或延迟播放。 
ObjectAnimator a1 = ObjectAnimator.ofFloat(view, "alpha", 1.0f, 0f); 
ObjectAnimator a2 = ObjectAnimator.ofFloat(view, "translationY", 0f, viewWidth); AnimatorSet animSet = new AnimatorSet(); 
animSet.setDuration(5000);
  animSet.setInterpolator(new LinearInterpolator()); 
//animSet.playTogether(a1, a2, ...); 
//两个动画同时执行 
animSet.play(a1).after(a2); 
//先后执行 ......
//其他组合方式 
animSet.start(); 



三、动画的实现效果

1.   补间动画有两种实现方式
(1)   alpha_demo.xml 渐变动画
      android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
      android:fromAlpha="1.0"  
      android:toAlpha="0.1"  
      android:duration="2000"/>  
    
(2)
  android:fromDegrees="0"     
        android:toDegrees="360"            
android:duration="1000"          
  android:repeatCount="1"          
  android:repeatMode="reverse"/>   
    

(3)
scale_demo.xml
    android:fromXScale="0.2"        
    android:toXScale="1.5"      
      android:fromYScale="0.2"     
    android:toYScale="1.5"          
  android:pivotX="50%"        
    android:pivotY="50%"        
    android:duration="2000"/>  

 

(4)
translate_demo.xml
      android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
      android:fromXDelta="0"  
      android:toXDelta="320"  
      android:fromYDelta="0"  
      android:toYDelta="0"  
      android:duration="2000"/>  

     fromXDelta   动画起始位置的横坐标  
     toXDelta      动画起结束位置的横坐标  
     fromYDelta   动画起始位置的纵坐标  
     toYDelta      动画结束位置的纵坐标  
     duration    动画的持续时间  

 
 
《-----------------------------------------------------------------------------------------------------》
属性动画
 
       ObjectAnimator animator=ObjectAnimator.ofFloat(main_image,"rotation",0,360,0).setDuration(2000);
               animator.setInterpolator(new LinearInterpolator());
               animator.addListener(new Animator.AnimatorListener() {
                       @Override
                       public void onAnimationStart(Animator animation) {
                       }
                       @Override
                       public void onAnimationEnd(Animator animation) {
                               Intent intent =new Intent(MainActivity.this,TwoActivity.class);
                               startActivity(intent);
                               finish();
                       }
                       @Override
                       public void onAnimationCancel(Animator animation) {
                       }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值