美文网首页
动画之实现自动左右摇摆

动画之实现自动左右摇摆

作者: Harrison_CSL | 来源:发表于2018-06-27 09:13 被阅读0次

/**

* 左右摇摆动画类

*/

public class CustomRotateAnimextends Animation {

/**

* 控件宽

*/

    private int mWidth;

/**

* 控件高

*/

    private int mHeight;

/**

* 实例

*/

    private static CustomRotateAnimrotateAnim;

/**

* 获取动画实例

*

    * @return 实例

*/

    public static CustomRotateAnim getCustomRotateAnim() {

if (null ==rotateAnim) {

rotateAnim =new CustomRotateAnim();

}

return rotateAnim;

}

/**

    * @param width        控件的宽

    * @param height      控件的高

    * @param parentWidth

    * @param parentHeight

    */

    @Override

    public void initialize(int width,int height,int parentWidth,int parentHeight) {

this.mWidth = width;

this.mHeight = height;

super.initialize(width, height, parentWidth, parentHeight);

}

@Override

    protected void applyTransformation(float interpolatedTime, Transformation t) {

// 左右摇摆

//        获取矩阵

        Matrix matrix = t.getMatrix();

//        设置旋转

/**

* 参数一:旋转度数

* 参数二:X旋转度数

* 参数三:Y旋转度数

*

*/

        matrix.setRotate((float) (Math.sin(interpolatedTime * Math.PI *2) *40),mWidth /3,mHeight /2);

super.applyTransformation(interpolatedTime, t);

}

}


//我在activity的onResume()方法里加载动画

@Override

protected void onResume() {

super.onResume();

mThread =new Thread(new Runnable() {

@Override

        public void run() {

try {

for (; ; ) {

Thread.sleep(4000);

runOnUiThread(new Runnable() {

@Override

                        public void run() {

showAnimation();

}

});

}

}catch (InterruptedException e) {

e.printStackTrace();

}

}

});

mThread.start();

}

// 项目中的效果

private void showAnimation() {

// 获取自定义动画实例

    CustomRotateAnim rotateAnim = CustomRotateAnim.getCustomRotateAnim();

// 一次动画执行1秒

    rotateAnim.setDuration(450);

// 设置为循环播放

    rotateAnim.setRepeatCount(Animation.RESTART);

// 设置为匀速

    rotateAnim.setInterpolator(new LinearInterpolator());

// 开始播放动画

    img_money.startAnimation(rotateAnim);

}

相关文章

  • 动画之实现自动左右摇摆

    /** * 左右摇摆动画类 * */ public class CustomRotateAnimextends A...

  • 属性动画之旋转——小红包动画

    本文主要内容:属性动画实现红包左右摇摆动画。 1.1 介绍 先来看看具体动画的表现形式: 需求是希望这个动画播放三...

  • 实现动画方式深度解析

    实现动画方式深度解析(一) —— 播放GIF动画(一)实现动画方式深度解析(二) —— 播放GIF动画之框架FLA...

  • jQuery实现自动切换动画

    gif压缩得太厉害了,可能看不清或者加载不出,大家可以到我司官网看看效果,点击这里进入官网 不知道这种效果是不是你...

  • flutter 动画

    一、隐式(全自动)动画 所谓隐式动画就是只需要设置动画目标,过程控制由系统实现 一般是简单点的动画,比如只是简单的...

  • 图标左右摇摆动画

    - (void)viewDidLoad { [superviewDidLoad]; // Do any addit...

  • iOS动画原理学习

    iOS动画可以分为两大类:1.系统提供的关键帧动画,用户指定关键信息,系统自动实现动画过程,对用户而言操作起来简单...

  • CABasicAnimation关键帧动画

    所谓关键帧动画,就是将Layer的属性作为KeyPath来注册,指定动画的起始帧和结束帧,然后自动计算和实现中间的...

  • c语言移动Windows桌面图标

    移动windows桌面图标实现简单动画 这个操作需要关闭 桌面图标的自动排列

  • UIView动画合集

    iOS开发-UIView之动画效果的实现方法(合集) 前言:在开发APP中,我们会经常使用到动画效果。使用动画可以...

网友评论

      本文标题:动画之实现自动左右摇摆

      本文链接:https://www.haomeiwen.com/subject/pdavyftx.html