Animation的使用方法并不难。这里简单的介绍一下使用方法。

先看效果图:

效果还是不错的吧。 下面来看看使用方法。

动画效果是通过Animation来实现的,一共有四种,分别为:

AlphaAnimation : 渐变透明度动画

ScaleAnimation:  尺寸渐变动画

TranslateAnimation: 水平移动动画

RotateAnimation:  旋转动画

那么为了实现我的效果图上的效果呢。我们所有的动画都使用到了。

首先我们在Activity的布局文件中加入一个ImageView和一个TextView,使他们在布局居中。

    <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src = "@drawable/point"
android:id = "@+id/point"/>
<TextView
android:layout_below="@+id/point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="loadIng..."
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:id="@+id/loading"/>

然后修改MainActivity.java

先把需要声明的属性声明

    private ImageView mImageView;
private TextView mTextView;
private AnimationSet mImageAni;
private AnimationSet mTextAni;

这里由于 ImageView 和TextView都使用了组合的动画效果,所以需要有两个容器 AnimationSet来存放动画效果。

来看一下两个容器里具体放了什么动画

TranslateAnimation ta = new TranslateAnimation(200,0,300,0);
ta.setDuration(5000);
RotateAnimation ra = new RotateAnimation(0,360, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
ra.setDuration(5000);
mImageAni.addAnimation(ta);
mImageAni.addAnimation(ra);

mImageAni里存放了 一个TranslateAnimation 也就是水平移动动画,他的参数是从哪里到哪里,这里是从200-->0,300-->0,之后调用setDuration()方法来设置动画效果持续的时间。另外一个是RotateAnimation, 也就是旋转动画。他的参数是从多少度到多少度(0-->360),后面几个参数是从自身为基准,50% 也就是中心点旋转.

这两个动画效果组合起来就实现了小圆球的旋转效果。

接下来来看一下mTextAni

  ScaleAnimation sa = new ScaleAnimation(0,2.5f,0,2.5f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
sa.setDuration(5000);
AlphaAnimation aa = new AlphaAnimation(0,1);
aa.setDuration(5000);
mTextAni.addAnimation(sa);
mTextAni.addAnimation(aa);

第一个动画效果是ScaleAnimation 也就是缩放效果动画,他的参数与平移相似,从多少扩大到多少,后面的参数也是以自身为基准的50%,也就是中心。

而AlphaAnimation  透明动画的参数就比较简单,它的参数为从透明度多少到透明度多少,这里是从消失到显示.

最后我们给ImageView 添加一个监听事件,点击的时候播放动画效果

mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mImageView.startAnimation(mImageAni);
mTextView.startAnimation(mTextAni);
}
});

大功告成! 快去试试吧,另外如果你感兴趣,还可以看看其他的参数,和怎样用xml来实现动画。

源代码下载

下一篇:android动画介绍之 自定义Animation动画实现qq抖一抖效果

android动画介绍--Animation 实现loading动画效果的更多相关文章

  1. android xml实现animation 4种动画效果

    animation有四种动画类型 分别为alpha(透明的渐变).rotate(旋转).scale(尺寸伸缩).translate(移动),二实现的分发有两种,一种是javaCode,另外一种是XML ...

  2. 【动画消消乐 】仿ios、android中常见的一个loading动画 074

    前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...

  3. android动画介绍之 自己定义Animation动画实现qq抖一抖效果

    昨天我们介绍了Animation的基本使用方法.小伙伴们了解的怎么样了?假设还没有了解过Animation的小伙伴能够看看这篇博客 android动画介绍--Animation 实现loading动画 ...

  4. android动画介绍之 自定义Animation动画实现qq抖一抖效果

    昨天我们介绍了Animation的基本用法.小伙伴们了解的怎么样了?如果还没有了解过Animation的小伙伴可以看看这篇博客 android动画介绍--Animation 实现loading动画效果 ...

  5. 【Android - 基础】之Animator属性动画

    1      概述 在3.0系统之前,Android给我们提供了逐帧动画Frame Animation和补间动画Tween Animation两种动画: 1)        逐帧动画的原理很简单,就是 ...

  6. 【Android - 进阶】之Animator属性动画

    1.概述 在3.0系统之前,Android给我们提供了逐帧动画Frame Animation和补间动画Tween Animation两种动画: 逐帧动画的原理很简单,就是将一个完整的动画拆分成一张张单 ...

  7. 超酷!!HTML5 Canvas 水流样式 Loading 动画

    今天我们要分享另外一款基于HTML5 Canvas的液体流动样式Loading加载动画,这款Loading动画在加载时会呈现液体流动的动画效果,并且由于和背景颜色的对比,也略微呈现发光的动画效果. 效 ...

  8. layui数据表格分页加载动画,自己定义加载动画,"加载中..."

    记录思路,仅供参考 在表格渲染完成后,在done回调函数中给分页动态加点击事件, 关闭"加载中..."动画也是在 done回调函数中关闭 这是我实现的思路,记录给大家参考. , d ...

  9. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

随机推荐

  1. Weblogic 12c 集群部署和session复制

    在上一篇Weblogic12c集群搭建的基础上,这一篇介绍Weblogic12c集群应用的部署和session复制. 1.启动服务 首先在weblogic12c控制台,启动受托管服务server1.s ...

  2. TV Metro界面(仿泰捷视频TV版)源码解析

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52822499 前言:上一篇介绍了 ...

  3. sql group句子

    rollup SELECT employee_id,department_id,job_id,SUM(salary) FROM employees WHERE department_id <60 ...

  4. Struts 1 之<bean>标签库

    <bean:write>标签 <bean:write>能输出request.session.application.page四个域中能访问到的变量,与EL表达式不同的是,如果变 ...

  5. ORACLE数据库学习之数据库的优化

     数据库的优化 概述 影响数据库性能的因素包括:系统.数据库.网络. 数据库的优化包括:优化数据库磁盘I/O.优化回滚段.优化Rrdo日志.优化系统全局区.优化数据库对象. 监控数据库的性能: 在 ...

  6. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

     要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...

  7. Android源码分析—深入认识AsyncTask内部机制

    本文转载http://blog.csdn.net/singwhatiwanna/article/details/17596225该博主博文,谢谢该博主提供的好文章! 前言 什么是AsyncTask,相 ...

  8. 18 Loader代码案例

    目录结构: MainActivity.java 代码: package com.qf.day18_loader_demo2; import android.app.Activity; import a ...

  9. Access数据类型和.NET数据类型映射

    下表列出了 Microsoft Access 和这些数据类型与 Microsoft.NET Framework 数据类型与 OleDbType 枚举的方式中使用的最常见的数据类型. 访问类型名称 数据 ...

  10. iOS中 动态热修补技术JSPatch 韩俊强的博客

    .1.4) JSPatch bridge Objective-C and JavaScript. You can call any Objective-C class and method in Ja ...