给一个view添加旋转动画,并且停止后保持旋转角度,恢复后可继续旋转。

    RotateAnimation这个动画类 animation.setFillAfter(true);方法是在动画自动停止后保持原位,而手动停止调用clearAnimation()后旋转的控件会变成最开始的位置,想到的解决方  法是让动画旋转30度 利用handle不断的发送消息 当点击停止后取消发送消息,不是很好的解决办法。

    经过查找资料发现 ObjectAnimator属性动画

        ObjectAnimator    animator = ObjectAnimator.ofFloat(im_scan, "rotation", 0f, 360.0f);
        animator.setDuration(2000);
        animator.setInterpolator(new LinearInterpolator());//不停顿
        animator.setRepeatCount(-1);//设置动画重复次数
        animator.setRepeatMode(ValueAnimator.RESTART);//动画重复模式

       animator.start();//开始动画

       animator.pause();//暂停动画

       animator.resume();//恢复动画

       这几个方法就能实现效果。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在小程序中,可以通过使用CSS3的transform属性来实现旋转一个view。具体的实现步骤如下: 1. 在需要旋转view的wxml文件中,设置一个id,例如: ``` <view id="myView">Hello World</view> ``` 2. 在样式文件中编写旋转的样式,例如: ``` #myView { transform: rotate(45deg); } ``` 在上面的例子中,我们通过选择器`#myView`来选中id为“myView”的view,并给它设置了一个旋转45度的样式。需要注意的是,旋转角度需要使用“deg”单位。 如果需要实现动态旋转,可以使用小程序的动画API来实现。具体的实现步骤如下: 1. 在需要旋转view的wxml文件中,设置一个id,例如: ``` <view id="myView">Hello World</view> ``` 2. 在页面的js文件中,创建一个动画对象,并给它设置旋转动画,例如: ``` Page({ onReady: function() { var animation = wx.createAnimation({ duration: 1000, timingFunction: 'linear' }) animation.rotate(360).step() this.setData({ animationData: animation.export() }) } }) ``` 在上面的例子中,我们通过调用wx.createAnimation()方法创建了一个动画对象,并设置了旋转360度的动画。调用animation.export()方法导出动画数据,并通过this.setData()方法将动画数据传递给页面的data属性。 3. 在页面的wxml文件中,绑定动画对象,并将动画应用到需要旋转view上,例如: ``` <view class="my-view" animation="{{animationData}}">Hello World</view> ``` 在上面的例子中,我们通过绑定animationData属性将动画对象传递给view组件,并设置了动画对象应用到view组件上。 通过以上步骤,我们就可以在小程序中实现旋转一个view的效果了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值