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 ...
随机推荐
- Weblogic 12c 集群部署和session复制
在上一篇Weblogic12c集群搭建的基础上,这一篇介绍Weblogic12c集群应用的部署和session复制. 1.启动服务 首先在weblogic12c控制台,启动受托管服务server1.s ...
- TV Metro界面(仿泰捷视频TV版)源码解析
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52822499 前言:上一篇介绍了 ...
- sql group句子
rollup SELECT employee_id,department_id,job_id,SUM(salary) FROM employees WHERE department_id <60 ...
- Struts 1 之<bean>标签库
<bean:write>标签 <bean:write>能输出request.session.application.page四个域中能访问到的变量,与EL表达式不同的是,如果变 ...
- ORACLE数据库学习之数据库的优化
数据库的优化 概述 影响数据库性能的因素包括:系统.数据库.网络. 数据库的优化包括:优化数据库磁盘I/O.优化回滚段.优化Rrdo日志.优化系统全局区.优化数据库对象. 监控数据库的性能: 在 ...
- SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例
要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...
- Android源码分析—深入认识AsyncTask内部机制
本文转载http://blog.csdn.net/singwhatiwanna/article/details/17596225该博主博文,谢谢该博主提供的好文章! 前言 什么是AsyncTask,相 ...
- 18 Loader代码案例
目录结构: MainActivity.java 代码: package com.qf.day18_loader_demo2; import android.app.Activity; import a ...
- Access数据类型和.NET数据类型映射
下表列出了 Microsoft Access 和这些数据类型与 Microsoft.NET Framework 数据类型与 OleDbType 枚举的方式中使用的最常见的数据类型. 访问类型名称 数据 ...
- iOS中 动态热修补技术JSPatch 韩俊强的博客
.1.4) JSPatch bridge Objective-C and JavaScript. You can call any Objective-C class and method in Ja ...