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)