Android 简单旋转、平移、渐变、伸缩动画

简单总结旋转、平移、渐变、伸缩动画

1.通用alphaAnimation.setFillAfter(true); 设置动画结束后的状态,true为保留最后动画状态

2.监听动画的开始、结束状态

animation.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
                
            }

            @Override
            public void onAnimationEnd(Animation animation) {

            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });	 

3.动画view常用的位置坐标信息,view的更多信息,请看。。。未写,带总结

在这里插入图片描述

在这里插入图片描述

TranslateAnimation动画

TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) 来定义动画

参数说明
float fromXDelta 动画开始的点离当前View X坐标上的差值
float toXDelta 动画结束的点离当前View X坐标上的差值
float fromYDelta 动画开始的点离当前View Y坐标上的差值
float toYDelta 动画开始的点离当前View Y坐标上的差值

常用方法
animation.setDuration(long durationMillis);//设置动画持续时间
animation.setRepeatCount(int i);//设置重复次数
animation.setRepeatMode(Animation.REVERSE);//设置反方向执行

代码

    TranslateAnimation translateAnimation = new TranslateAnimation(0, 400, 0, 400);
    translateAnimation.setDuration(5000);
    translateAnimation.setFillAfter(true);
    launcherIv.startAnimation(translateAnimation);

请添加图片描述
ScaleAnimation 动画

ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

参数说明
float fromX 动画起始时 X坐标上的伸缩尺寸
float toX 动画结束时 X坐标上的伸缩尺寸
float fromY 动画起始时Y坐标上的伸缩尺寸
float toY 动画结束时Y坐标上的伸缩尺寸
int pivotXType 动画在X轴相对于物件位置类型
float pivotXValue 动画相对于物件的X坐标的开始位置
int pivotYType 动画在Y轴相对于物件位置类型
float pivotYValue 动画相对于物件的Y坐标的开始位置

代码

  ScaleAnimation scaleAnimation = new ScaleAnimation(1, 0, 1, 0, Animation.ABSOLUTE, 400, Animation.ABSOLUTE, -10);
  scaleAnimation.setDuration(5000);
  scaleAnimation.setFillAfter(true);
  launcherIv.startAnimation(scaleAnimation);

请添加图片描述
RotateAnimation 动画

RotateAnimation (float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

参数说明:
float fromDegrees:旋转的开始角度。
float toDegrees:旋转的结束角度。
int pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotXValue:X坐标的伸缩值。
int pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotYValue:Y坐标的伸缩值。

代码

    RotateAnimation rotateAnimation = new RotateAnimation(0, -180, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    rotateAnimation.setDuration(2000);
    rotateAnimation.setFillAfter(true);
    launcherIv.startAnimation(rotateAnimation);

在这里插入图片描述

AlphaAnimation 动画

AlphaAnimation(float fromAlpha, float toAlpha)

代码:

 AlphaAnimation alphaAnimation = new AlphaAnimation(1f, 0.2f);
 alphaAnimation.setDuration(1000);
 alphaAnimation.setFillAfter(true);
 launcherIv.startAnimation(alphaAnimation);     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值