java上下左右晃动_动画(Animation) 之 (闪烁、左右摇摆、上下晃动等效果)
左右晃动的效果: (这边显示没那么流畅)
一、续播 (不知道取什么名字好,就是先播放动画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) 之 (闪烁、左右摇摆、上下晃动等效果)相关推荐
- 动画 Animation 之 闪烁 左右摇摆 上下晃动等效果
左右晃动的效果: (这边显示没那么流畅) 一.续播 (不知道取什么名字好,就是先播放动画A, 接着播放动画B) 有两种方式. 第一种,分别动画两个动画,A和B, 然后先播放动画A,设置A 的 Ani ...
- java雪花纷飞_分析自定义view的实现过程-实现雪花飞舞效果(转载有改动)
声明:本文源码出自实现雪花飞舞效果(有改动)主要通过这篇文来分析自定义view的实现过程. 没事时,比较喜欢上网看看一些新的东西,泡在网上的日子就是一个很不错的网站. 下面开始了,哈哈.^_^ 大家都 ...
- java运用ascii实现动画效果_安卓开发20:动画之Animation 详细使用-主要通过java代码实现动画效果...
AlphaAnimation 透明效果实现: activity_main.xml中仅仅是一个简单的图片,下面的例子都会使用这个xml: xmlns:tools="http://schemas ...
- animation停留_这些Animation动画技巧与细节你知道么
引言- 在 web 应用中,前端同学在实现动画效果时往往常用的几种方案: css3 transition / animation - 实现过渡动画 setInterval / setTimeout - ...
- java识别雨滴_如何实现一个简单的雨滴动画?手把手告诉你
本文由云+社区发表 目的 写了几个Flutter的demo,但是对Flutter的自定义view和动画都不太了解,看到一个类似效果在android的实现,就尝试用Flutter做一下.同时也是学习Fl ...
- 安卓动画全解:补间动画(视图动画)、布局动画、属性动画、逐帧动画。动画Animation属性、Alpha属性、Scale属性、Translate属性、Rotate属性,动画集AnimationSet
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓动画全解:补间动画(视图动画).布局动画.属性动画.逐帧动画. 主要内容包含:动画Animation属性.Alpha属性.Scale属性.Tran ...
- 掌财社:使用Java实现控制台字符动画的小程序
下面我将和大家分享一个用Java做的简单小程序,用来实现控制台字符动画的效果.本文供大家参考,如有错误或是考虑不周的地方,还望大家不吝指出. 程序效果 可设置画布尺寸,添加图形元件,设置元件坐标和效果 ...
- Unity学习日志_动画系统简介
Unity学习日志_动画系统简介 Animation,Legacy动画系统 若要使用Animation,需要在创建Clip之前为物体手动添加Animation组件. Animation组件面板: 属性 ...
- 精灵动画Animation对话框组成Idle动画的各精灵
精灵动画Animation对话框组成Idle动画的各精灵 场景中已经添加了精灵,现在是时候让让它动起来了.读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状态:Idle(空闲) ...
最新文章
- 死磕Java并发:J.U.C之Condition
- Keras之DNN:基于Keras(sigmoid+binary_crossentropy+predict_proba)利用DNN实现分类预测概率——DIY二分类数据集预测新数据点
- 关于游戏开发中时间性能统计工具本身overhead较高的问题
- hdu5399(找规律。。。)
- Spring4 MVC表单验证代码示例
- WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem for Linux optional compo
- 11月全球搜索引擎市场:百度份额突破30% 增势持续
- 找出单身狗java_Java单身狗 —— 单例模式
- 计算机图形学完整笔记(四):消隐
- 年轻人的第一个自定义Springboot starter
- linux分区文件ext4和ext3,在Windows 下读取 Linux 的 ext3/ext4 格式分区 -Ext2Read和Ext2Fsd...
- PLC梯形图设计全自动洗衣机S7-1200博途以及PLC仿真实现之 3. 仿真设计
- centos7 Rsync服务端和windows cwRsync实现数据同步(增量备份)
- 磁盘分区被格式化了,格式化之前的文件恢复方法
- 疯狂原始人服务器维修,《疯狂原始人》进不去解决办法 进不去怎么办
- 常用git 命令备忘
- java resultset 获取列名_ResultSet 动态获取列名 | 学步园
- JavaScript同步与异步
- python打包whl文件
- jquery中当点击子节点时如何实现删除父节点的问题