android 动画结束停留,android中Animation动画的连续播放与播放完毕后停留在最后的状态...
我们做安卓应用的苦逼程序员们常常会需要用到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动画的连续播放与播放完毕后停留在最后的状态...相关推荐
- # Unity3d Mecanim动画如何应用3dmax中的动画位移
Unity3d Mecanim动画如何应用3dmax中的动画位移 大家好!我是小周,这是我的第一篇博客,自己喜欢游戏,所以大学报了计算机专业,毕业以后也如愿以偿的进入了游戏开发者的队列,现在用Unit ...
- animation停留_这些Animation动画技巧与细节你知道么
引言- 在 web 应用中,前端同学在实现动画效果时往往常用的几种方案: css3 transition / animation - 实现过渡动画 setInterval / setTimeout - ...
- iOS中 Animation 动画大全 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博! iOS开发者交流QQ群: 446310206 1.iOS中我们能看到的控件都是UIView的子类,比如UIButt ...
- css动画定义,CSS3中Animation动画的定义和调用
现在经常会看到一些门户网站的专题使用到CSS3的动画,咋也不能落伍,在此这梳理下动画知识吧,便于后面用到.接下来介绍下Animation动画的定义和调用,在介绍Animation之前需要了解下Keyf ...
- web 移动端 ios 浏览器中 animation 动画异常
关键字:animation,ios,移动端,异常 解决问题的办法:页面dom加载完毕时延时给dom加上动画类名.即在vue的mounted钩子中用定时器延时100ms左右给需要动画的dom加上类名. ...
- 第100天:CSS3中animation动画详解
CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation: 一.Animation定义动画 CSS3的Animation是由"keyframes& ...
- 一步一步学动画[1]:Silverlight中Animation的应用
1.Animation简介 动画是快速播放一系列图像(其中每个图像与下一个图像略微不同)给人造成的一种幻觉.大脑感觉这组图像是一个变化的场景.在电影中,摄像机每秒钟拍摄许多照片(帧),便可使人形成这种 ...
- Unity中Animation动画的创建
记录下关于Animation的学习: 1.首次创建Animation动画: (1) 把Sprite直接拖到Hierarchy面板: (2) 选中拖上去的Sprite,然后Windows->Ani ...
- css3中animation动画、浏览器私有前缀、文字阴影
animation动画: 可以设置多个节点来控制一个或 一组动画,动画可以实现更多变化,更多控制,连续自动播放等效果.动画的使用分两步:1.定义动画 2.调用动画(调用必须写调用名称和持续时间),其属 ...
最新文章
- Java 8 - 数值流Numberic Stream
- vscode 如何实时显示html文件?
- 【译】Engineering Security Through Coordination Problems
- 企业级应用WebLogic11g集群配置与项目实施_WebLogic部署培训教程
- python的科学计算库总结
- 设计模式之美 - 64状态模式
- Session保存到指定数据库中
- 系统也需和谐共存——Win7与XP安装同一盘符方法解析
- UVALive5910 UVA1641 POJ4022 ASCII Area【趣味程序+输入输出】
- matlab 创建同型矩阵_以经典同型样式创建新地图
- 串口通讯 电脑和dsp_Sci 使用DSP2812的SCIA模块和PC机进行串口通信,用FIFO功能实现数据的发送和接受。 DSP program 261万源代码下载- www.pudn.com...
- HT6221发送红外HS0038解码程序
- [读书笔记]Spring中的容器设计详解
- 软件需求的三个层次——业务需求、用户需求和功能需求的区别
- 春招秋招笔试面试时间(2020年)
- 提取FBX文件中mesh的信息
- JAVA高并发多线程必须懂的50个问题
- AE中的各种报错提示的原因和解决方案
- golang mysql 诊断之旅(2000万开房数据被曝光引发的血案)
- span based model