public class MainActivity extends Activity { private ImageView image; private Button alpha_btn, rotate_btn, scale_btn, translate_btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); image = (ImageView)findViewById(R.id.image); alpha_btn = (Button)findViewById(R.id.alpha); rotate_btn = (Button)findViewById(R.id.rotate); scale_btn = (Button)findViewById(R.id.scale); translate_btn = (Button)findViewById(R.id.translate); alpha_btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { //1.创建一个AnimationSet对象 AnimationSet animationSet = new AnimationSet(true); //2.创建一个AlphaAnimation对象,Alpha透明度渐变,全不透到全透的渐变 AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0); //3.为AlphaAnimation设置相应的数据 alphaAnimation.setDuration(5000); //4.将AlphaAnimation添加到AnimationSet对象中 animationSet.addAnimation(alphaAnimation); //5.执行动画 image.startAnimation(animationSet); } }); rotate_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AnimationSet animationSet = new AnimationSet(true); //以image的左上角为旋转轴点 //RotateAnimation rotate = new RotateAnimation(0, 360); /*绝对像素,相对于view的左上角 RotateAnimation rotate = new RotateAnimation(0, 360, Animation.ABSOLUTE, 150, Animation.ABSOLUTE, 150); */ /*相对于view自身 RotateAnimation rotate = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); */ RotateAnimation rotate = new RotateAnimation(0, 360, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f); rotate.setDuration(5000); animationSet.addAnimation(rotate); image.startAnimation(rotate); } }); scale_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AnimationSet animationSet = new AnimationSet(true); ScaleAnimation scale = new ScaleAnimation( 0.1f, 1f, 0.1f, 1f, //x,y缩放比例 Animation.RELATIVE_TO_SELF, 0.5f,//缩放中心点 Animation.RELATIVE_TO_SELF, 0.5f); scale.setDuration(3000); animationSet.addAnimation(scale); image.startAnimation(animationSet); } }); translate_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AnimationSet animationSet = new AnimationSet(true); TranslateAnimation translate = new TranslateAnimation( Animation.RELATIVE_TO_SELF, 1f,//起始移动的x Animation.RELATIVE_TO_SELF, 0f,//起始移动的y Animation.RELATIVE_TO_SELF, 0.5f,//移动终点x Animation.RELATIVE_TO_SELF, 0f);//移动终点y translate.setDuration(3000); animationSet.addAnimation(translate); image.startAnimation(animationSet); } }); } }
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/teas"/> <Button android:id="@+id/alpha" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="0dp" android:text="Alpha"/> <Button android:id="@+id/rotate" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/alpha" android:layout_marginTop="20dp" android:text="rotate"/> <Button android:id="@+id/scale" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="scale"/> <Button android:id="@+id/translate" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@id/scale" android:layout_marginBottom="20dp" android:text="translate"/> </RelativeLayout>