Android笔记小记(3)

动画
#补间动画
  • Alpha
  • Rotate
  • Scale
  • Translate
  • set

一、可以用xml文件

Animation an=AnimationUtils.loadAnimation(this,R,anim.myset);

二、new对象


AlphaAnimation alphaAnimation =new AlphaAnimation(0.0f,1.0f);
alphaAnimation.setDuration(5000);
tv.setAnimation(an);
其他效果一样
#逐帧动画
  • 1.创建xml animation-list

<  animation-list xmlns:android="http://schemas.android.com/apk/res/android"   >
< item android:drawable="@drawable/a1" android:duration="500" >
< item android:drawable="@drawable/a2" android:duration="500" >
< item android:drawable="@drawable/a3" android:duration="500" >
< item android:drawable="@drawable/a4" android:duration="500" > 
   
  • 2.用animationdrawable来控制开关
      
 animationDrawable=(AnimationDrawable) 用于显示的属性.getDrawable();
 img.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View arg0) {
                    if(animationDrawable.isRunning()){
                        animationDrawable.stop();
                    }else{
                        animationDrawable.start();
                    }

            }
        });
 
#属性动画

所有的效果都是根据补间动画来的,可以随意的组合

  • 1.Valuemation

     ValueAnimator valueAnimator=ValueAnimator.ofInt(0,100);
        valueAnimator.setDuration(5000);
        valueAnimator.addUpdateListener(new AnimatorUpdateListener() {

            @Override
            public void onAnimationUpdate(ValueAnimator animation) {

                int i=(Integer) animation.getAnimatedValue();
                tView.setText(i+"%");
            }
        });
        valueAnimator.start();
   
  • 2.Objectmation


   ObjectAnimator o1=ObjectAnimator.ofFloat(imageView,"alpha", 0f,1f);

   o1.setDuration(5000);
   o1.start();
 第一个参数是要实行动画的属性,第二个是实行动画的效果 ,
第三个参数是开始,第三个是结束
不同的补间动画有不同的参数,具体查API
  • 3.animatorSet可以应用多个动画

1.播放anim1
2.同时播放anim2,anim3,anim4
3.播放anim5
AnimatorSet bouncer=new AnimatorSet();
Bouncer.play(anim1).before(anim2);
Bouncer.play(anim2).with(anim3);
Bouncer.play(anim2).with(anim4)
Bouncer.start();
//anim均可用补间动画所有

kxind

性别:男. 敢于尝试 爱折腾的死宅程序猿. https://github.com/kxinds