Animation 动画

Animation 动画

本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:

  • 调用Xml动画
  • Java代码动画
  • 常用属性(关键属性)

调用Xml动画

初始化xml

<?xml version="1.0" encoding="utf-8"?>

<rotate android:pivotX="50%"
    android:pivotY="50%"
    android:fromDegrees="359"
    android:toDegrees="0"
    android:repeatCount="-1"//-1表示无限循环
    android:repeatMode="restart"//正向还是反向
    android:duration="20000"
    ></rotate>
<translate
    android:duration="20000"
    android:fromXDelta="-20"
    android:fromYDelta="-20"
    android:repeatCount="1000"
    android:repeatMode="reverse"
    android:toXDelta="0"
    android:toYDelta="0">
</translate>
<alpha
    android:duration="20000"
    android:fromAlpha="1.0"
    android:repeatCount="1000"
    android:repeatMode="reverse"
    android:toAlpha="0.9" />
<scale android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="1.8"
    android:toYScale="1.8"
    android:repeatCount="1000"
    android:repeatMode="reverse"
    android:duration="20000"></scale>
  </set>

Java调用:

  Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.leida);
            animation.setInterpolator(new LinearInterpolator());//表示变化率,但不是运行速度。一个插补属性,可以将动画效果设置为加速,减速,反复,反弹等。默认为开始和结束慢中间快,本案例 做无限旋转,则需要设置为LinearInterpolator无间隔
         //   animation.setFillAfter(true);//是否保留原来位置
            leida.startAnimation(animation);

Java代码实现动画

1.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 animation=new RotateAnimation(0f, k*40+360f*3,Animation.RELATIVE_TO_SELF, 0.5f,Animation.RELATIVE_TO_SELF,0.6f);
        animation.setInterpolator(new DecelerateInterpolator());
        animation.setFillAfter(true);

Tran

1.TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) 2.TranslateAnimation(float fromXType, float fromXValue, float toXType, float toXValue,float fromYType,float fromYValu,float toYType,float toYValue) 解释: 第一种方式 :float fromXDelta 动画开始的点离当前View X坐标上的差值 :float toXDelta 动画结束的点离当前View X坐标上的差值 :float fromYDelta 动画开始的点离当前View Y坐标上的差值 :float toYDelta 动画开始的点离当前View Y坐标上的差值 第二种方式
而当X方向或者Y方向上的Type选择为Animation.RELATIVE_TO_SELF或者 Animation.RELATIVE_TO_PARENT时候,则表示相位移量了,举个例子来说,如果在X方向上选择Animation.RELATIVE_TO_SELF,那么当XValue=1.0f时,则偏移量为一个自身宽度。如果在X方向上选择Animation.RELATIVE_TO_PARENT时,则偏移量为一个父控件宽度。Y方向是相同的道理,只是把宽度换成了高度而已。

Interpolator属性

这里写图片描述
“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值