Tween Animation-补间动画

官网链接-http://developer.android.com/reference/android/view/animation/Animation.html

Animation,继承Object,实现Cloneable接口

实现的直接子类:AlphaAnimation,TransalteAnimation,ScaleAnimation,RotateAnimation,AnimationSet

1.透明动画---AlphaAnimation

a.动态java代码实现button按钮的透明效果

 rootView.findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() {

     @Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlphaAnimation aa=new AlphaAnimation(0, 1);
aa.setDuration(1000);
v.startAnimation(aa); }
});

b.通过XML属性设置实现透明动画

新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为alpha.

 <?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0"
android:toAlpha="1"
android:duration="1000" >
</alpha>

java代码

             rootView.findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() {

                 @Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.aa));
}
});

2.旋转动画-RotateAnimation

a.动态java代码实现button按钮的旋转效果

         findViewById(R.id.btnRotate).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
RotateAnimation ra=new RotateAnimation(0, 360);
ra.setDuration(1000);
v.setAnimation(ra); }
});

b.通过XML属性设置实现旋转动画

新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为rotate.

 <?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:duration="1000"
android:pivotX="50%" //自身的50%
android:pivotY="50%"> //自身的50%
</rotate>

java代码

         findViewById(R.id.btnRotate).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.ra));
}
});

3.移动动画-TranslateAnimation

a.动态java代码实现button按钮的移动效果

         findViewById(R.id.translateAnimation).setOnClickListener(new OnClickListener() {

             @Override
public void onClick(View v) {
// TODO Auto-generated method stub
TranslateAnimation ta=new TranslateAnimation(0, 0, 300, 300);
ta.setDuration(1000);
v.setAnimation(ta); }
});

b.通过XML属性设置实现移动动画

新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为translate.

 <?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="100"
android:fromYDelta="0"
android:toYDelta="100"
android:duration="1000">
</translate>

java代码

         findViewById(R.id.translateAnimation).setOnClickListener(new OnClickListener() {

             @Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.ta));
}
});

4.缩放动画-ScaleAnimation

a.动态java代码实现button按钮的缩放效果

         findViewById(R.id.btnScale).setOnClickListener(new OnClickListener() {

             @Override
public void onClick(View v) {
// TODO Auto-generated method stub
ScaleAnimation sa=new ScaleAnimation(0, 1, 0, 1);
sa.setDuration(1000);
v.setAnimation(sa); }
});

b.通过XML属性设置实现缩放动画

新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为scale.

 <?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="0"
android:toXScale="1"
android:fromYScale="0"
android:toYScale="1"
android:duration="1000" android:pivotX="50%"
android:pivotY="50%">
</scale>

java代码

         findViewById(R.id.btnScale).setOnClickListener(new OnClickListener() {

             @Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.sa));
}
});

5.混合动画--AnimationSet

a.动态java代码实现button按钮的混合动画效果

         findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() {

             @Override
public void onClick(View v) {
// TODO Auto-generated method stub
AnimationSet as=new AnimationSet(true);
as.setDuration(1000); AlphaAnimation aa=new AlphaAnimation(0, 1);
aa.setDuration(1000);
as.addAnimation(aa); TranslateAnimation ta= new TranslateAnimation(200,0,200,0);
ta.setDuration(1000);
as.addAnimation(ta); v.setAnimation(as); }
});

b.通过XML属性设置实现混合动画效果

新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为set.

 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="true"
android:duration="1000"> <alpha android:fromAlpha="0" android:toAlpha="1"/> <translate android:fromXDelta="200"
android:toXDelta="0"
android:fromYDelta="200"
android:toYDelta="0"/>
</set>

java代码:

         findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() {

             @Override
public void onClick(View v) {
v.startAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.anim));
}
});

Android开发UI之补间动画-Tween Animation的更多相关文章

  1. Android开发UI之补间动画-布局添加动画

    布局添加动画 使用步骤: 1.获取到布局的id RelativeLayout ly=(RelativeLayout)findViewById(R.id.layout); 2.设置动画样式 ScaleA ...

  2. Android动画总结#补间动画(Tween Animation/View Animation) #帧动画(Frame Animation/Drawable Animation)#属性动画(PropertyAnimation)

    1.共有三种动画,英文名字多种叫法如下 第一种动画:补间动画(Tween Animation/View Animation) 四个:RotateAnimation旋转. AlphaAnimation透 ...

  3. Android开发实战之补间动画和属性动画

    说起动画,其实一点也不陌生,在使用一款app的时候为了优化用户体验,多多少少的,都会加入动画. 安卓中的动画,分为两大类:补间动画和属性动画.本篇博文会详细介绍总结这两大动画,希望本篇博文对你的学习和 ...

  4. android 补间动画和Animation

    介绍: 补间动画是一种设定动画开始状态.结束状态,其中间的变化由系统计算补充.这也是他叫做补间动画的原因. 补间动画由Animation类来实现具体效果,包括平移(TranslateAnimation ...

  5. Android中四种补间动画的使用示例(附代码下载)

    场景 Android中四种补间动画. 透明度渐变动画 旋转动画 缩放动画 平移动画 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程 ...

  6. Android开发(26)--补间动画(Tween)的实现

    补间动画(Tween Animation) 补间动画与逐帧动画在本质上是不同的,逐帧动画通过连续播放图片来模拟动画的效果,而补间动画则是通过在两个关键帧之间补充渐变的动画效果来实现的.补间动画的优点是 ...

  7. ListView的淡入淡出和Activity的淡入淡出补间动画效果Animation

    //=========主页面======================= package com.bw.lianxi7; import android.os.Bundle;import androi ...

  8. Android基础笔记(十)- 帧动画、补间动画具体解释、对话框

    帧动画 补间动画Tween Animation 对话框以及面试中的注意点 帧动画 帧动画非常easy,我们首先看一下Google官方解释This is a traditional animation ...

  9. android 帧动画,补间动画,属性动画的简单总结

      帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...

随机推荐

  1. eclipse项目文件编码格式和项目不一致的修改方法

    eclipse导入了一个项目,并把其属性设置成了UTF-8,但是打开里面的文档之后,发现还是乱码,看了下属性,发现文档竟然还是GBK的编码 于是就百度了下,发现了解决方法,现在和大家分享下,希望能帮到 ...

  2. 2016ACM竞赛训练暑期课期末考试 a题

    描述 给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合. 输入 第一行是一个正整数n(n<=600).第二行是n个不同的整数,相邻两个整数之间用单个空格隔开. ...

  3. [PR & ML 3] [Introduction] Probability Theory

    虽然学过Machine Learning和Probability今天看着一part的时候还是感觉挺有趣,听惊呆的,尤其是Bayesian Approach.奇怪发中文的笔记就很多人看,英文就没有了,其 ...

  4. Linux查看进程和终止进程的技巧

    1. 在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按tab). 2. ps 命令用于查看当前正在运行 ...

  5. nginx 常用的 URL 重写方法

    转自:http://www.jbxue.com/article/4727.html Nginx中一些常用的URL 重写方法介绍,有需要的朋友可以参考下.url重写应该不陌生,不管是SEO URL 伪静 ...

  6. mysqldump备份与还原mysql数据的实例

    有关mysql数据库的备份与还原,我们一般用下面两种方式来处理:1.使用into outfile 和 load data infile导入导出备份数据 本文原始链接:http://www.jbxue. ...

  7. eclipse中配置maven的web项目

    提高效率,一般都会使用IED如eclipse来帮助开发.eclipse中单独建立一个web项目或者是maven项目是可以通过插件很容易完成的,但是如果要结合2者,就需要先建立一个,然后再转换或使原型. ...

  8. 005.ClearStoredGroups方法

    Delphi procedure ClearStoredGroups; 类型:procedure 可见性:protected 所在单元:System.RegularExpressionsCore 父类 ...

  9. python中functools.wraps装饰器的作用

    functools.wraps装饰器用于显示被包裹的函数的名称 import functools def node(func): #@functools.wraps(func) def wrapped ...

  10. c# 判断窗体是否永在最前(TopMost),调用windows API

    许多程序都可以把自身的窗体设为最前显示状态,这个可以参考博客c#让窗体永在最前 调用windows api 将窗体设为topmost.那么如何判断桌面上的一个窗体是否为最前显示状态呢,不光是自己的程序 ...