我们做安卓应用的苦逼程序员们常常会需要用到Animation也就是动画。比如做地图功能的时候。我们在手机旋转时需要根据手机重力感应来调整地图的角度,让它上面的“北”一直指向地球的北面。。。

好多人做动画的时候会遇到这么两个难题(我也曾经遇到过):

1:动画执行完了一遍后又立刻恢复到了初始状态,或者动画只能不断循环动作。【问题:我想让动画动到某个位置或转到某个角度后停在那里,该如何做呢?】

2:点击按钮一、动画从0度转到了10度,我再点击按钮二、需要动画从之前的10度位置再继续转到20度。再点击按钮三......【问题:如何让动画连续起来?而不是每次都有从0度开始转到10、再从0度开始转到20度......】

针对上面两个问题我们来看看动画类,这里我拿RotateAnimation(旋转动画,其他动画有类似之处)来讲解:

RotateAnimation(float fromDegrees,float toDegtees,float pivotX,float pivotY);

这里面 :

fromDegrees为旋转动画的起始角度

toDegtees为旋转动画的结束角度

pivotX和pivotY为旋转动画的锚点位置,也就是说我的动画是根据哪个顶点来旋转的。

从参数来看,我们只要在一次动画执行完毕后记录当前动画转到了哪里,再在下次执行动画的时候将这个记录下来的位置传给fromDegrees就会发现你的动画接着上次的位置继续旋转了下去。这样我们就解决了问题2了。

再看看问题1:想让动画执行完毕后固定在动画结束的那一帧上可以设置rotateAnimation.setFillAfter(true);方法。将值传为true就可以了。。。

是不是豁然开朗啦亲们??有没有菊花为之一紧的感觉啊?哈哈~!!

废话不多说了。看看我提供的一个旋转的方法吧。

/**旋转的动画

* @param mView            需要选择的View

* @param startDegress    初始的角度【从这个角度开始】

* @param degrees        当前需要旋转的角度【转到这个角度来】

*/

public void showAnimation(View mView,int startDegress,int degrees)

{

float centerX = mView.getWidth() / 2.0f;

float centerY = mView.getHeight() / 2.0f;

//这个是设置需要旋转的角度(也是初始化),我设置的是当前需要旋转的角度

RotateAnimation rotateAnimation = new RotateAnimation(startDegress,degrees,centerX,centerY);//centerX和centerY是旋转View时候的锚点

//这个是设置动画时间的

rotateAnimation.setDuration(10);

//动画执行完毕后是否停在结束时的角度上

rotateAnimation.setFillAfter(true);

//启动动画

mView.startAnimation(rotateAnimation);

}

android 动画结束停留,android中Animation动画的连续播放与播放完毕后停留在最后的状态...相关推荐

  1. # Unity3d Mecanim动画如何应用3dmax中的动画位移

    Unity3d Mecanim动画如何应用3dmax中的动画位移 大家好!我是小周,这是我的第一篇博客,自己喜欢游戏,所以大学报了计算机专业,毕业以后也如愿以偿的进入了游戏开发者的队列,现在用Unit ...

  2. animation停留_这些Animation动画技巧与细节你知道么

    引言- 在 web 应用中,前端同学在实现动画效果时往往常用的几种方案: css3 transition / animation - 实现过渡动画 setInterval / setTimeout - ...

  3. iOS中 Animation 动画大全 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! iOS开发者交流QQ群: 446310206 1.iOS中我们能看到的控件都是UIView的子类,比如UIButt ...

  4. css动画定义,CSS3中Animation动画的定义和调用

    现在经常会看到一些门户网站的专题使用到CSS3的动画,咋也不能落伍,在此这梳理下动画知识吧,便于后面用到.接下来介绍下Animation动画的定义和调用,在介绍Animation之前需要了解下Keyf ...

  5. web 移动端 ios 浏览器中 animation 动画异常

    关键字:animation,ios,移动端,异常 解决问题的办法:页面dom加载完毕时延时给dom加上动画类名.即在vue的mounted钩子中用定时器延时100ms左右给需要动画的dom加上类名. ...

  6. 第100天:CSS3中animation动画详解

    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation: 一.Animation定义动画 CSS3的Animation是由"keyframes& ...

  7. 一步一步学动画[1]:Silverlight中Animation的应用

    1.Animation简介 动画是快速播放一系列图像(其中每个图像与下一个图像略微不同)给人造成的一种幻觉.大脑感觉这组图像是一个变化的场景.在电影中,摄像机每秒钟拍摄许多照片(帧),便可使人形成这种 ...

  8. Unity中Animation动画的创建

    记录下关于Animation的学习: 1.首次创建Animation动画: (1) 把Sprite直接拖到Hierarchy面板: (2) 选中拖上去的Sprite,然后Windows->Ani ...

  9. css3中animation动画、浏览器私有前缀、文字阴影

    animation动画: 可以设置多个节点来控制一个或 一组动画,动画可以实现更多变化,更多控制,连续自动播放等效果.动画的使用分两步:1.定义动画 2.调用动画(调用必须写调用名称和持续时间),其属 ...

最新文章

  1. Java 8 - 数值流Numberic Stream
  2. vscode 如何实时显示html文件?
  3. 【译】Engineering Security Through Coordination Problems
  4. 企业级应用WebLogic11g集群配置与项目实施_WebLogic部署培训教程
  5. python的科学计算库总结
  6. 设计模式之美 - 64状态模式
  7. Session保存到指定数据库中
  8. 系统也需和谐共存——Win7与XP安装同一盘符方法解析
  9. UVALive5910 UVA1641 POJ4022 ASCII Area【趣味程序+输入输出】
  10. matlab 创建同型矩阵_以经典同型样式创建新地图
  11. 串口通讯 电脑和dsp_Sci 使用DSP2812的SCIA模块和PC机进行串口通信,用FIFO功能实现数据的发送和接受。 DSP program 261万源代码下载- www.pudn.com...
  12. HT6221发送红外HS0038解码程序
  13. [读书笔记]Spring中的容器设计详解
  14. 软件需求的三个层次——业务需求、用户需求和功能需求的区别
  15. 春招秋招笔试面试时间(2020年)
  16. 提取FBX文件中mesh的信息
  17. JAVA高并发多线程必须懂的50个问题
  18. AE中的各种报错提示的原因和解决方案
  19. golang mysql 诊断之旅(2000万开房数据被曝光引发的血案)
  20. span based model

热门文章

  1. O2O产业怎么使用科技虚拟员工保证数据的及时性
  2. (版本已经过低)2016海康威视摄像头监控web端实例+插件
  3. 360 2015测试笔试题总结
  4. 浅识K2 blackpearl中SmartObject
  5. 在打包过程中小米手机的apk图标失败的解决方法
  6. 心理学 教你怎么去看懂人心,100条格言要记牢
  7. Hack The Box - Crocodile关卡
  8. 使用百度云接口API和人脸库完成本地合影图片的多人脸识别--V3版接口Python语言
  9. linux 查询ip curl,自建IP查询,域名curlip.me
  10. 如何实现一个圆弧倒计时进度条