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>