动画(Animation) 它 (闪烁、左右摇摆、跷跷板等功效)
一侧到另一侧的影响: (这里显示的是并不那么顺利)

一、续播 (不知道取什么名字好,就是先播放动画A, 接着播放动画B)
有两种方式。
第一种。分别动画两个动画,A和B, 然后先播放动画A,设置A 的 AnimationListener。当onAnimationEnd触发(即A播放完成)时,開始播放B。
animation1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
animation2.start();
}
});
另外一种,写一个动画集AnimationSet,在当中定义动画A和B,为动画B设置startOffset, 其值就是前一个动画播放的所需的时间。
这边举一个样例,动画A是 透明度从 0.1 到 1.0 , 动画B是透明度从1.0到0.1, 使用以下这个动画集你就能够看到整个变化过程。
<? xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.2"
android:toAlpha="1.0"
android:duration="3000"
/>
<alpha
android:startOffset="3000"
android:fromAlpha="1.0"
android:toAlpha="0.2"
android:duration="3000"
/>
</set>
当中android:startOffset="3000" 表示延迟3秒后再运行。
假设去掉当中的 android:startOffset="3000" , 你就什么效果也看不到了。 由于两个动画会同一时候播放。
二、循环
有时候,我们可能须要实现一个图片不停闪烁的功能(比方天气预报中的紧急警报功能), 或者有的时候我们须要实现图片左右晃动,都须要循环动画来实现。
相同。也有两种办法。
第一种,设置两个动画A 和 B, 动画A 是透明度 0 -1。 动画B是1 - 0, 然后对这两个动画都进行监听, A 结束运行B。 B结束运行A.. 无限循环...
另外一种,利用Animation的setRepeatCount、setRepeatMode来实现动画循环。
比方闪烁(透明度亮 -> 暗, 暗->亮,如此循环)
//闪烁
AlphaAnimation alphaAnimation1 = new AlphaAnimation(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 = new TranslateAnimation(150f, 350f, 50, 50);
alphaAnimation2.setDuration(1000);
alphaAnimation2.setRepeatCount(Animation.INFINITE);
alphaAnimation2.setRepeatMode(Animation.REVERSE);
iv.setAnimation(alphaAnimation2);
alphaAnimation2.start();
其中 iv 是ImageView。
好吧,。写了这么。
动画(Animation) 它 (闪烁、左右摇摆、跷跷板等功效)的更多相关文章
- 动画(Animation) 之 (闪烁、左右摇摆、上下晃动等效果)
左右晃动的效果: (这边显示没那么流畅) 一.续播 (不知道取什么名字好,就是先播放动画A, 接着播放动画B) 有两种方式. 第一种,分别动画两个动画,A和B, 然后先播放动画A,设置A 的 Ani ...
- 动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)
× 目录 [1]漂浮的白云 [2]旋转的星球 [3]正方体合成 前面的话 前面介绍过动画animation的详细用法,本文主要介绍动画animation的三个效果 漂浮的白云 [效果演示] [简要介绍 ...
- CSS3的变形transform、过渡transition、动画animation学习
学习CSS3动画animation得先了解一些关于变形transform.过渡transition的知识 这些新属性大多在新版浏览器得到了支持,有些需要添加浏览器前缀(-webkit-.-moz-.- ...
- 精灵动画Animation对话框组成Idle动画的各精灵
精灵动画Animation对话框组成Idle动画的各精灵 1.3 精灵动画 场景中已经添加了精灵,现在是时候让让它动起来了.读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状 ...
- Qt-4.6动画Animation快速入门三字决
Qt-4.6动画Animation快速入门三字决 Qt-4.6新增了Animation Framework(动画框架),让我们能够方便的写一些生动的程序.不必像以前的版本一样,所有的控件都枯燥的呆在伟 ...
- css3 动画(animation)-简单入门
css3之动画(animation) css3中我们可以使用动画,由于取代以前的gif图片,flash动画,以及部分javascript代码(相信有很多同学都用过jquery中的animate方法来做 ...
- Android 动画animation 深入分析
转载请注明出处:http://blog.csdn.net/farmer_cc/article/details/18259117 Android 动画animation 深入分析 前言:本文试图通过分析 ...
- View 动画 Animation 运行原理解析
这次想来梳理一下 View 动画也就是补间动画(ScaleAnimation, AlphaAnimation, TranslationAnimation...)这些动画运行的流程解析.内容并不会去分析 ...
- CSS3动画属性:动画(animation)
一:动画(animation)的参数详解 由于上面用到了animation动画,这里详细介绍下这个animation的参数. 简介 CSS动画(Animations)简单说就是在一段固定的动画时间内暗 ...
随机推荐
- 代码写解压zip文件
最近项目中服务器方返回了zip文件类型的文件,在网上搜了好多资料做成一个Demo,这里用来详解一下. ZipArchive类来源于网络.还望多多交流. 1.首先添加libz.dylib框架 2.前往h ...
- 管道实现进程间通讯 、WaitNamedPipe
一.管道实现进程间通讯 主要的理论知识 1.什么是管道以及分类 管道是两个头的东西,每一个头各连接一个进程或者同一个进程的不同代码,依照管道的类别分有两种管道,匿名的和命名的:依照管道的传输方向分也能 ...
- Swift - 类扩展(extension)
Swift语言的类扩展是一个强大的工具,我们可以通过类扩展完成如下事情: 1,给已有的类添加计算属性和计算静态属性 2,定义新的实例方法和类方法 3,提供新的构造器 4,定义下标脚本 5,是一个已有的 ...
- Linux Socket编程注意事项
Socket API 是网络应用程序开发中实际应用的标准 API.虽然该 API 简单.可是开发新手可能会经历一些常见的问题.本文识别一些最常见的隐患并向您显示怎样避免它们. 隐患 1.忽略返回状态 ...
- [Android学习笔记]Activity
每一个activity都表示一个屏幕,程序把activity呈现给用户,而在activity上实际看到的UI控件,都是View. 故把activity简单理解为view的容器. activity的状态 ...
- 14.4.2 Configuring InnoDB for Read-Only Operation 配置InnoDB 永于只读操作:
14.4.2 Configuring InnoDB for Read-Only Operation 配置InnoDB 永于只读操作: 你可以查询InnoDB 表 MySQL 数据目录是在只读介质里,通 ...
- 《Android系统开发》笔记
<Android系统开发>笔记1:Android系统概述 Android四层架构: 1. Linux Kernel&driver层 a.依赖于Linux 2.6内核,包含安全性.内 ...
- c++重载ostream的实现
#include <iostream> using namespace std; class Point{ public: Point(int _x = 0, int _y = 0, in ...
- js关闭浏览器窗口事件
js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框.支持ie6+,火狐,谷歌等浏览器. <html> <head /> <body> <script typ ...
- POJ--3268--Silver Cow Party【SPFA+邻接表】
题意:一些牛要去某一点參加聚会,然后再回到自己家,路是单向的,问花费时间最多的那头牛最少须要花费多长时间. 思路:从聚会地点返回,相当于是从某一点到其它各个点的最短路径.从牛的家中走到聚会地点,能够把 ...