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();
		
	}

 

posted @ 2014-12-20 17:48  初入程序猿  阅读(348)  评论(0编辑  收藏  举报