首页 > 代码库 > android动画效果演示

android动画效果演示

第一种:TranslateAnimation  动画效果演示: 

public void move(View view)	{//		传统动画效果		TranslateAnimation animation=new TranslateAnimation(0, 500, 0, 0);//		时间		animation.setDuration(500);//		设置移动后的位置不恢复		animation.setFillAfter(true);		ImageButton img=(ImageButton) findViewById(R.id.img);		TextView tv=(TextView) findViewById(R.id.lab);//		设置动画效果  控件		img.startAnimation(animation);		tv.startAnimation(animation);		Toast.makeText(this, "移动时间", Toast.LENGTH_SHORT).show();	}

 XML 配置按钮时间

<Button 	   android:gravity="center"	    android:layout_marginTop="500sp"	    android:layout_marginStart="30sp"	    android:layout_marginLeft="30sp"	    android:layout_width="wrap_content"	    android:layout_height="wrap_content"	    android:text="移动按钮"	    android:id="@+id/btn"	    android:onClick="move"

 使用-------------使用ObjectAnimator----------360

//  -------------使用ObjectAnimator----------
  ObjectAnimator animator=new ObjectAnimator();
//  animator.ofFloat(img, "translationY", 0,100).setDuration(1000).start();
   if(flag)
  {
  animator.ofFloat(img, "Y", 0,300).setDuration(1000).start();
  animator.ofFloat(img, "X", 0,300).setDuration(1000).start();
  animator.ofFloat(img, "rotation", 0,360).setDuration(1000).start();
  flag=false;
    
  }
  else
  {
  animator.ofFloat(img, "Y", 300,0).setDuration(1000).start();
  animator.ofFloat(img, "X", 300,0).setDuration(1000).start();
  animator.ofFloat(img, "rotation", 3600,0).setDuration(1000).start();
  flag=true;
  }
  

PropertyValuesHolder对象的使用

	/**	 * 跟上面不同的是代码优化了	 */	public void propteValueHolderDemo()	{		ImageButton img=(ImageButton) findViewById(R.id.img);		PropertyValuesHolder pro1=PropertyValuesHolder.ofFloat("rotation", 0,360F);		PropertyValuesHolder pro2=PropertyValuesHolder.ofFloat("x", 0,300);		PropertyValuesHolder pro3=PropertyValuesHolder.ofFloat("y", 0,300);		ObjectAnimator.ofPropertyValuesHolder(img,pro1,pro2,pro3).setDuration(1000).start();	}

 

	/**	 * 按顺序 演示动画效果	 */	public void PlaySequentiallyDemo()	{		ImageButton img=(ImageButton) findViewById(R.id.img);		ObjectAnimator animator1=	ObjectAnimator.ofFloat("img","X",0,360F);		ObjectAnimator animator2=	ObjectAnimator.ofFloat("img","Y",0,360F);				AnimatorSet set=new AnimatorSet();		set.playSequentially(animator1,animator2);		set.setDuration(1000);		set.start();			}

 

android动画效果演示