一侧到另一侧的影响: (这里显示的是并不那么顺利)

一、续播  (不知道取什么名字好,就是先播放动画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) 它 (闪烁、左右摇摆、跷跷板等功效)的更多相关文章

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

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

  2. 动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)

    × 目录 [1]漂浮的白云 [2]旋转的星球 [3]正方体合成 前面的话 前面介绍过动画animation的详细用法,本文主要介绍动画animation的三个效果 漂浮的白云 [效果演示] [简要介绍 ...

  3. CSS3的变形transform、过渡transition、动画animation学习

    学习CSS3动画animation得先了解一些关于变形transform.过渡transition的知识 这些新属性大多在新版浏览器得到了支持,有些需要添加浏览器前缀(-webkit-.-moz-.- ...

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

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

  5. Qt-4.6动画Animation快速入门三字决

    Qt-4.6动画Animation快速入门三字决 Qt-4.6新增了Animation Framework(动画框架),让我们能够方便的写一些生动的程序.不必像以前的版本一样,所有的控件都枯燥的呆在伟 ...

  6. css3 动画(animation)-简单入门

    css3之动画(animation) css3中我们可以使用动画,由于取代以前的gif图片,flash动画,以及部分javascript代码(相信有很多同学都用过jquery中的animate方法来做 ...

  7. Android 动画animation 深入分析

    转载请注明出处:http://blog.csdn.net/farmer_cc/article/details/18259117 Android 动画animation 深入分析 前言:本文试图通过分析 ...

  8. View 动画 Animation 运行原理解析

    这次想来梳理一下 View 动画也就是补间动画(ScaleAnimation, AlphaAnimation, TranslationAnimation...)这些动画运行的流程解析.内容并不会去分析 ...

  9. CSS3动画属性:动画(animation)

    一:动画(animation)的参数详解 由于上面用到了animation动画,这里详细介绍下这个animation的参数. 简介 CSS动画(Animations)简单说就是在一段固定的动画时间内暗 ...

随机推荐

  1. 代码写解压zip文件

    最近项目中服务器方返回了zip文件类型的文件,在网上搜了好多资料做成一个Demo,这里用来详解一下. ZipArchive类来源于网络.还望多多交流. 1.首先添加libz.dylib框架 2.前往h ...

  2. 管道实现进程间通讯 、WaitNamedPipe

    一.管道实现进程间通讯 主要的理论知识 1.什么是管道以及分类 管道是两个头的东西,每一个头各连接一个进程或者同一个进程的不同代码,依照管道的类别分有两种管道,匿名的和命名的:依照管道的传输方向分也能 ...

  3. Swift - 类扩展(extension)

    Swift语言的类扩展是一个强大的工具,我们可以通过类扩展完成如下事情: 1,给已有的类添加计算属性和计算静态属性 2,定义新的实例方法和类方法 3,提供新的构造器 4,定义下标脚本 5,是一个已有的 ...

  4. Linux Socket编程注意事项

    Socket API 是网络应用程序开发中实际应用的标准 API.虽然该 API 简单.可是开发新手可能会经历一些常见的问题.本文识别一些最常见的隐患并向您显示怎样避免它们. 隐患 1.忽略返回状态 ...

  5. [Android学习笔记]Activity

    每一个activity都表示一个屏幕,程序把activity呈现给用户,而在activity上实际看到的UI控件,都是View. 故把activity简单理解为view的容器. activity的状态 ...

  6. 14.4.2 Configuring InnoDB for Read-Only Operation 配置InnoDB 永于只读操作:

    14.4.2 Configuring InnoDB for Read-Only Operation 配置InnoDB 永于只读操作: 你可以查询InnoDB 表 MySQL 数据目录是在只读介质里,通 ...

  7. 《Android系统开发》笔记

    <Android系统开发>笔记1:Android系统概述 Android四层架构: 1. Linux Kernel&driver层 a.依赖于Linux 2.6内核,包含安全性.内 ...

  8. c++重载ostream的实现

    #include <iostream> using namespace std; class Point{ public: Point(int _x = 0, int _y = 0, in ...

  9. js关闭浏览器窗口事件

    js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框.支持ie6+,火狐,谷歌等浏览器. <html> <head /> <body> <script typ ...

  10. POJ--3268--Silver Cow Party【SPFA+邻接表】

    题意:一些牛要去某一点參加聚会,然后再回到自己家,路是单向的,问花费时间最多的那头牛最少须要花费多长时间. 思路:从聚会地点返回,相当于是从某一点到其它各个点的最短路径.从牛的家中走到聚会地点,能够把 ...