您的位置:首页 > 移动开发 > Android开发

Android animation

2016-04-08 09:50 302 查看
代码实现动画效果

步骤:

1. 设置xml

2. 编写java文件

/*
*    旋转的x轴类型(三种):
*      1. ABSOLUTE          : 绝对值
*      2. RELATIVE_TO_SELF  : 相对于自身
*      3. RELATIVE_TO_PARENT: 相对于父控件
**/
private class RotateButtonListener implements View.OnClickListener {

@Override
public void onClick(View view) {
AnimationSet animationSet = new AnimationSet(true);
RotateAnimation rotateAnimation = new RotateAnimation(0, 360,//旋转0~360度,0为12点钟方向
Animation.RELATIVE_TO_PARENT, 1f,        //旋转的x轴类型,具体x的值——1f为整个父控件的宽
Animation.RELATIVE_TO_PARENT, 0f);       //旋转的y轴类型,y值
rotateAnimation.setDuration(2000);               //持续时间
animationSet.addAnimation(rotateAnimation);      //RotateAnimation加入到AnimationSet
imageView.startAnimation(animationSet);
}
}

/*
*   缩小
**/
private class ScaleButtonListener implements View.OnClickListener {

@Override
public void onClick(View view) {
AnimationSet animationSet = new AnimationSet(true);
ScaleAnimation scaleAnimation = new ScaleAnimation(1, 0.1f, 1, 0.1f,//x轴大小从1~0.1,y轴从1~0.1
Animation.RELATIVE_TO_SELF, 0.5f,   //以圆心(x,y)进行缩放
Animation.RELATIVE_TO_SELF, 0.5f);
animationSet.addAnimation(scaleAnimation);
animationSet.setStartOffset(1000);           //动画开始之前的等待时间
animationSet.setFillAfter(true);             //保持动画结束的状态
animationSet.setFillBefore(false);           //回到动画开始前的状态(false)
animationSet.setDuration(2000);              //动画时间
imageView.startAnimation(animationSet);
}

}

/*
*    渐渐淡出效果:
*      1. 创建一个AnimationSet对象
*      2. 创建一个AlphaAnimation对象
**/
private class AlphaButtonListener implements View.OnClickListener {

@Override
public void onClick(View view) {

AnimationSet animationSet = new AnimationSet(true);      //创建一个AnimationSet对象
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);//从完全透明到完全不透明
alphaAnimation.setDuration(1000);         //设置动画执行的时间(单位:毫秒)
animationSet.addAnimation(alphaAnimation);//将AlphaAnimation对象添加到AnimationSet当中
imageView.startAnimation(animationSet);   //使用ImageView的startAnimation方法开始执行动画
}

}

private class TranslateButtonListener implements View.OnClickListener {

@Override
public void onClick(View view) {
AnimationSet animationSet = new AnimationSet(true);
TranslateAnimation translateAnimation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0f,      //x-start
Animation.RELATIVE_TO_SELF, 0.5f,    //x-end
Animation.RELATIVE_TO_SELF, 0f,      //y-start
Animation.RELATIVE_TO_SELF, 1.0f);   //y-end
translateAnimation.setDuration(1000);
animationSet.addAnimation(translateAnimation);
imageView.startAnimation(animationSet);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: