左右晃动的效果: (这边显示没那么流畅)

一、续播  (不知道取什么名字好,就是先播放动画A, 接着播放动画B)

有两种方式。

第一种,分别动画两个动画,A和B, 然后先播放动画A,设置A 的 AnimationListener。当onAnimationEnd触发(即A播放完毕)时,开始播放B。

animation1.setAnimationListener(newAnimation.AnimationListener() {

@Override

publicvoidonAnimationStart(Animation animation) {

}

@Override

publicvoidonAnimationRepeat(Animation animation) {

}

@Override

publicvoidonAnimationEnd(Animation animation) {

animation2.start();

}

);

第二种,写一个动画集AnimationSet,在其中定义动画A和B,为动画B设置startOffset, 其值就是前一个动画播放的所需的时间。

这边举一个例子,动画A是 透明度从 0.1 到 1.0 , 动画B是透明度从1.0到0.1,  使用下面这个动画集你就可以看到整个变化过程。

android:fromAlpha="0.2"

android:toAlpha="1.0"

android:duration="3000"

/>

android:startOffset="3000"

android:fromAlpha="1.0"

android:toAlpha="0.2"

android:duration="3000"

/>

其中android:startOffset="3000"  表示延迟3秒后再执行。 如果去掉其中的 android:startOffset="3000" , 你就什么效果也看不到了。 因为两个动画会同时播放。

二、循环

有时候,我们可能需要实现一个图片不停闪烁的功能(比如天气预报中的紧急警报功能),  或者有的时候我们需要实现图片左右晃动,都需要循环动画来实现。

同样,也有两种办法。

第一种,设置两个动画A 和 B, 动画A 是透明度 0 -1, 动画B是1 - 0, 然后对这两个动画都进行监听, A 结束执行B, B结束执行A.. 无限循环...

第二种,利用Animation的setRepeatCount、setRepeatMode来实现动画循环。

比如闪烁(透明度亮 -> 暗, 暗->亮,如此循环)

//闪烁

AlphaAnimation alphaAnimation1 = newAlphaAnimation(0.1f,1.0f);

alphaAnimation1.setDuration(3000);

alphaAnimation1.setRepeatCount(Animation.INFINITE);

alphaAnimation1.setRepeatMode(Animation.REVERSE);

iv.setAnimation(alphaAnimation1);

alphaAnimation1.start();

alphaAnimation1.setRepeatCount(Animation.INFINITE); 表示重复多次。 也可以设定具体重复的次数,比如alphaAnimation1.setRepeatCount(5);

alphaAnimation1.setRepeatMode(Animation.REVERSE);表示动画结束后,反过来再执行。 该方法有两种值, RESTART 和 REVERSE。 RESTART表示从头开始,REVERSE表示从末尾倒播。

懒得屏幕录像了,类似下面的效果:

再比如左右摇摆

//摇摆

TranslateAnimation alphaAnimation2 = newTranslateAnimation(150f, 350f,50,50);

alphaAnimation2.setDuration(1000);

alphaAnimation2.setRepeatCount(Animation.INFINITE);

alphaAnimation2.setRepeatMode(Animation.REVERSE);

iv.setAnimation(alphaAnimation2);

alphaAnimation2.start();

其中 iv 是一个ImageView。

好了,就写这么多。

http://blog.csdn.net/feng88724/article/details/7000314

java上下左右晃动_动画(Animation) 之 (闪烁、左右摇摆、上下晃动等效果)相关推荐

  1. 动画 Animation 之 闪烁 左右摇摆 上下晃动等效果

    左右晃动的效果: (这边显示没那么流畅) 一.续播  (不知道取什么名字好,就是先播放动画A, 接着播放动画B) 有两种方式. 第一种,分别动画两个动画,A和B, 然后先播放动画A,设置A 的 Ani ...

  2. java雪花纷飞_分析自定义view的实现过程-实现雪花飞舞效果(转载有改动)

    声明:本文源码出自实现雪花飞舞效果(有改动)主要通过这篇文来分析自定义view的实现过程. 没事时,比较喜欢上网看看一些新的东西,泡在网上的日子就是一个很不错的网站. 下面开始了,哈哈.^_^ 大家都 ...

  3. java运用ascii实现动画效果_安卓开发20:动画之Animation 详细使用-主要通过java代码实现动画效果...

    AlphaAnimation 透明效果实现: activity_main.xml中仅仅是一个简单的图片,下面的例子都会使用这个xml: xmlns:tools="http://schemas ...

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

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

  5. java识别雨滴_如何实现一个简单的雨滴动画?手把手告诉你

    本文由云+社区发表 目的 写了几个Flutter的demo,但是对Flutter的自定义view和动画都不太了解,看到一个类似效果在android的实现,就尝试用Flutter做一下.同时也是学习Fl ...

  6. 安卓动画全解:补间动画(视图动画)、布局动画、属性动画、逐帧动画。动画Animation属性、Alpha属性、Scale属性、Translate属性、Rotate属性,动画集AnimationSet

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓动画全解:补间动画(视图动画).布局动画.属性动画.逐帧动画. 主要内容包含:动画Animation属性.Alpha属性.Scale属性.Tran ...

  7. 掌财社:使用Java实现控制台字符动画的小程序

    下面我将和大家分享一个用Java做的简单小程序,用来实现控制台字符动画的效果.本文供大家参考,如有错误或是考虑不周的地方,还望大家不吝指出. 程序效果 可设置画布尺寸,添加图形元件,设置元件坐标和效果 ...

  8. Unity学习日志_动画系统简介

    Unity学习日志_动画系统简介 Animation,Legacy动画系统 若要使用Animation,需要在创建Clip之前为物体手动添加Animation组件. Animation组件面板: 属性 ...

  9. 精灵动画Animation对话框组成Idle动画的各精灵

    精灵动画Animation对话框组成Idle动画的各精灵 场景中已经添加了精灵,现在是时候让让它动起来了.读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状态:Idle(空闲) ...

最新文章

  1. 死磕Java并发:J.U.C之Condition
  2. Keras之DNN:基于Keras(sigmoid+binary_crossentropy+predict_proba)利用DNN实现分类预测概率——DIY二分类数据集预测新数据点
  3. 关于游戏开发中时间性能统计工具本身overhead较高的问题
  4. hdu5399(找规律。。。)
  5. Spring4 MVC表单验证代码示例
  6. WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem for Linux optional compo
  7. 11月全球搜索引擎市场:百度份额突破30% 增势持续
  8. 找出单身狗java_Java单身狗 —— 单例模式
  9. 计算机图形学完整笔记(四):消隐
  10. 年轻人的第一个自定义Springboot starter
  11. linux分区文件ext4和ext3,在Windows 下读取 Linux 的 ext3/ext4 格式分区 -Ext2Read和Ext2Fsd...
  12. PLC梯形图设计全自动洗衣机S7-1200博途以及PLC仿真实现之 3. 仿真设计
  13. centos7 Rsync服务端和windows cwRsync实现数据同步(增量备份)
  14. 磁盘分区被格式化了,格式化之前的文件恢复方法
  15. 疯狂原始人服务器维修,《疯狂原始人》进不去解决办法 进不去怎么办
  16. 常用git 命令备忘
  17. java resultset 获取列名_ResultSet 动态获取列名 | 学步园
  18. JavaScript同步与异步
  19. python打包whl文件
  20. jquery中当点击子节点时如何实现删除父节点的问题

热门文章

  1. Autodesk Softimage xsi 2013中文破解版安装教程
  2. 目前中国顶级优秀的程序员都有谁?
  3. 你的能量超乎你想象——我的OCM之路
  4. matlab霍夫变换检测直线原理,霍夫变换(霍夫变换检测直线原理)
  5. 程序员创业之路——华章图书永远相伴
  6. 5W2H 分解漏洞扫描 - WHAT
  7. Java学习专栏!全网最牛!
  8. 帆软报表多源数据过滤为何不显示数据
  9. linux下flex与bison源码安装,Win flex-bison开发环境配置
  10. isbn书号查询易语言代码