Android 围绕中心旋转动画

阅读: 评论:0

Android 围绕中心旋转动画

Android 围绕中心旋转动画

Android 围绕中心旋转动画

一 简介

开发中遇到扫描蓝牙动画需求,如下图所示:

因此以下简单记录一下,方便以后使用。

Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果;第二类是 Frame 动画,即顺序播放事先做好的图像,跟电影类似。

二 应用

我用了一个ConstraintLayout布局将要旋转的部分包括起来。

2.定义rotate旋转效果

在res/anim文件夹下新建l,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android=""><rotateandroid:duration="1500"android:fromDegrees="360"android:pivotX="50%"android:pivotY="50%"android:repeatCount="-1"android:repeatMode="restart"android:toDegrees="0" /><!--参数的含义duration:表示从android:fromDegrees转动到android:toDegrees所花费的时间fromDegrees="0":  起始的角度度数toDegrees="359" : 结束的角度度数pivotX="50%:旋转中心距离view的左顶点为50%距离,pivotY="50%: 距离view的上边缘为50%距离repeatCount="-1":重复次数,-1为一直重复repeatMode="restart":重复模式,restart从头开始重复,reverse即从结束开始向前重新运行实际效果为顺逆时针交替未用到属性:android:interpolator表示变化率,但不是运行速度。一个插补属性,可以将动画效果设置为加速,减速,反复,反弹等。默认为开始和结束慢中间快,android:startOffset 在调用start函数之后等待开始运行的时间,单位为毫秒,若为10,表示10ms后开始运行-->
</set>
3.在代码中设置应用
    //开始旋转Animation animation = AnimationUtils.loadAnimation(this,ation_animation);LinearInterpolator lin = new LinearInterpolator();//设置动画匀速运动animation.setInterpolator(lin);clRotation.startAnimation(animation);//停止旋转clRotation.clearAnimation(); 
  • setInterpolator表示设置旋转速率。LinearInterpolator为匀速效果,Accelerateinterpolator为加速效果、DecelerateInterpolator为减速效果。
  • 停止旋转最好用代码设置,也可以强制设置rotate转动多少圈,前者更好。
4.横竖屏切换导致旋转中心偏移解决办法
@Override  
public void onConfigurationChanged(Configuration newConfig) {  ConfigurationChanged(newConfig);  if (animation != null && clRotation != null && animation.hasStarted()) {  clRotation.clearAnimation();  clRotation.startAnimation(animation);  }  
} 

本文发布于:2024-01-31 00:05:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170663075823807.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:动画   中心   Android
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23