android动画介绍--Animation 实现loading动画效果
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动画效果的更多相关文章
- android xml实现animation 4种动画效果
animation有四种动画类型 分别为alpha(透明的渐变).rotate(旋转).scale(尺寸伸缩).translate(移动),二实现的分发有两种,一种是javaCode,另外一种是XML ...
- 【动画消消乐 】仿ios、android中常见的一个loading动画 074
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...
- android动画介绍之 自己定义Animation动画实现qq抖一抖效果
昨天我们介绍了Animation的基本使用方法.小伙伴们了解的怎么样了?假设还没有了解过Animation的小伙伴能够看看这篇博客 android动画介绍--Animation 实现loading动画 ...
- android动画介绍之 自定义Animation动画实现qq抖一抖效果
昨天我们介绍了Animation的基本用法.小伙伴们了解的怎么样了?如果还没有了解过Animation的小伙伴可以看看这篇博客 android动画介绍--Animation 实现loading动画效果 ...
- 【Android - 基础】之Animator属性动画
1 概述 在3.0系统之前,Android给我们提供了逐帧动画Frame Animation和补间动画Tween Animation两种动画: 1) 逐帧动画的原理很简单,就是 ...
- 【Android - 进阶】之Animator属性动画
1.概述 在3.0系统之前,Android给我们提供了逐帧动画Frame Animation和补间动画Tween Animation两种动画: 逐帧动画的原理很简单,就是将一个完整的动画拆分成一张张单 ...
- 超酷!!HTML5 Canvas 水流样式 Loading 动画
今天我们要分享另外一款基于HTML5 Canvas的液体流动样式Loading加载动画,这款Loading动画在加载时会呈现液体流动的动画效果,并且由于和背景颜色的对比,也略微呈现发光的动画效果. 效 ...
- layui数据表格分页加载动画,自己定义加载动画,"加载中..."
记录思路,仅供参考 在表格渲染完成后,在done回调函数中给分页动态加点击事件, 关闭"加载中..."动画也是在 done回调函数中关闭 这是我实现的思路,记录给大家参考. , d ...
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
随机推荐
- 【SSH系列】Hibernate映射 -- 一对多关联映射
映射原理 一对多关联映射和多对一关联映射的映射原理是一样一样的,所以说嘛,知识都是相通的,一通百通,为什么说一对多关联映射和多对一关联映射是一样的呢?因为她们都是在多的一端加入一个 ...
- Scala:字符串
http://blog.csdn.net/pipisorry/article/details/52902348 Scala字符串 在 Scala 中,字符串的类型实际上是 Java String,它本 ...
- Linux下的一些常用命令(一)
在Linux环境下敲各种命令是再正常不过了,尤其是现在大多少服务器均为Linux系统,但是我又记不住这么多命令,只是偶尔在项目做完发布到服务器上的时候会涉及到,所以在网上找了一些命令,在此记录一下~ ...
- java设计模式-----单例设计模式
设计模式是个很高深的东西,我也是略懂皮毛,下面让我用最简洁易懂的语言描述下单例设计模式吧. 一些人总结出来用来解决特定问题的固定的解决方案. 解决一个类在内存中只存在一个对象,想要保证对象的唯一. 1 ...
- Mac 下安装node.js
Node.js 简介 Node.js 是一个用Chrome's V8 JavaScript engine 构建的 JavaScript 运行时框架.Node.js 使用事件驱动.非阻塞式 I/O 模块 ...
- FFmpeg源代码简单分析:avformat_close_input()
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...
- 13常用sql语句
创建语句 CREATE table if not exists b(id INTEGER PRIMARY KEY AUTOINCREMENT,waijian int ,FOREIGN KEY (wai ...
- 【编程练习】最近准备开始找工作,这篇文章作为一个code练手题目的总结吧
找工作时候一般需要准备的算法题目类型,其实参考leetcode和poj或者剑指offer基本能够摆平大部分的题目了 1.图的遍历,BFS.DFS: 2.递归的回溯剪枝: 3.树的建立和遍历: 4.状态 ...
- tomcat集群的failover机制
集群要提供高可用性就必须要有某种机制去保证,常用的机制为failover(故障转移),简单说就是通过一定的heartbeat检测是否有故障,一旦故障发生备份节点则接管故障节点的工作. tomcat使用 ...
- parcel和parcelable
Parcel 在英文中有两个意思,其一是名词,为包裹,小包的意思: 其二为动词,意为打包,扎包.邮寄快递中的包裹也用的是这个词.Android采用这个词来表示封装消息数据.这个是通过IBinder通信 ...