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));
}
});

最新文章

  1. GSM Hacking Part② :使用SDR捕获GSM网络数据并解密
  2. php的特性
  3. javascript function new this
  4. VBS_For_next
  5. 已有数据表的Mysql字符编码修改
  6. Python爬虫处理抓取数据中文乱码问题
  7. DotNET知识点总结三(笔记整合)
  8. Spring Ioc知识整理
  9. 4.Swift教程翻译系列——Swift基本运算符
  10. 如果在线显示php源代码
  11. 警报C++精密整数除法计算损失
  12. 第1章1节《MonkeyRunner源码剖析》概述:前言(原创)
  13. 这可能是新手最容易入门的JVM讲解(不过是一场恋爱)
  14. 配置ssh无密钥登陆
  15. java去除表达符号的正则表达式
  16. mvc 遇到的问题
  17. 《剑指offer》第五十九题(滑动窗口的最大值)
  18. git pull出现There is no tracking information for the current branch
  19. 告知你不为人知的UDP-疑难杂症和使用
  20. systemtap 2.8 安装说明书

热门文章

  1. 第五篇、常用的SQL语句和函数介绍
  2. Javaweb学习笔记--分层设计
  3. 学习笔记---C++虚函数,纯虚函数
  4. PHP页面间参数传递的四种方法详解
  5. 鼠标事件(window.onload的自己的错误)
  6. cookie、localStorage、sessionStorage之间的区别
  7. 怎么用程序获取远程url执行后的图片地址
  8. MVC , MVP , MVVM【转 阮一峰的网络日志】
  9. HTML5 canvas绘制雪花飘落动画(需求分析、知识点、程序编写分布详解)
  10. socket编程中用到的头文件整理