Animation主要有四大属性,分别是淡入淡出,绕轴旋转,变化大小,位移变化

Android中动画的实现分两种方式,一种方式是补间动画 Tween Animation,就是说你定义一个开始和结束,中间的部分由android自身实现。另一种叫逐帧动画 Frame Animation,就是说一帧一帧的连起来播放就变成了动画。

一、Tween Animation

xml中实现:

alpha

渐变透明度动画效果

scale

渐变尺寸伸缩动画效果

translate

画面转换位置移动动画效果

rotate

画面转移旋转动画效果


JavaCode中

AlphaAnimation

渐变透明度动画效果

ScaleAnimation

渐变尺寸伸缩动画效果

TranslateAnimation

画面转换位置移动动画效果

RotateAnimation

画面转移旋转动画效果

使用XML文件定义Tween Animation时XML文件的根节点可以是<alpha>、<scale> <translate>、<rotate>或者是把它们都放入<set>节点中。如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha/>
<scale/>
<translate/>
<rotate/>
</set>

Java Code实现如下:

AlphaAnimation:

1. AnimationSet animationSet = new AnimationSet(true);//创建一个AnimationSet对象

2. AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);//创建一个AlphaAnimation对象

3. alphaAnimation.setDuration(1000);//设置动画执行的时间(单位:毫秒)

4. animationSet.addAnimation(alphaAnimation);//将AlphaAnimation对象添加到AnimationSet当中

5. view.startAnimation(animationSet);//使用view的startAnimation方法开始执行动画

RotateAnimation :

1. AnimationSet animationSet = new AnimationSet(true);

2. /**

* 前两个参数定义旋转的起始和结束的度数,后两个参数定义圆心的位置

1. */

2. RotateAnimation rotateAnimation = new RotateAnimation(0, 360,

3. Animation.RELATIVE_TO_PARENT, 1f,

4. Animation.RELATIVE_TO_PARENT, 0f);

5.

6. rotateAnimation.setDuration(5000);

7. animationSet.addAnimation(rotateAnimation);

8. imageView.startAnimation(animationSet);

9.

10.

TranslateAnimation:

1. AnimationSet animationSet = new AnimationSet(true);

2.

3. /**

4. * x和y轴的起始和结束位置

5. */

6. TranslateAnimation translateAnimation = new TranslateAnimation

7. (

8. Animation.RELATIVE_TO_SELF, 0f,

9. Animation.RELATIVE_TO_SELF,0.5f,

10. Animation.RELATIVE_TO_SELF, 0f,

11. Animation.RELATIVE_TO_SELF, 1.0f

12. );

13.

14. translateAnimation.setDuration(1000);

15. animationSet.addAnimation(translateAnimation);

16. view.startAnimation(animationSet);

ScaleAnimation:

1. AnimationSet animationSet = new AnimationSet(true);

2.

3. /**

4. * 围绕一个点伸缩

5. */

6. ScaleAnimation scaleAnimation = new ScaleAnimation(1, 0.1f, 1,

7. 0.1f, Animation.RELATIVE_TO_SELF, 0.5f,

8. Animation.RELATIVE_TO_SELF, 0.5f);

9. animationSet.addAnimation(scaleAnimation);

10. animationSet.setStartOffset(1000);

11. animationSet.setFillAfter(true);

12. animationSet.setFillBefore(false);

13. animationSet.setDuration(2000);

view.startAnimation(animationSet);

更多相关文章

  1. Android开发之ViewPager实现多页面切换及动画效果(仿Android的Lau
  2. ANDROID L——Material Design详解(动画篇)
  3. Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图
  4. android animation之scale 缩放(仿微信加号弹出菜单的动画效果)
  5. Android之如果解决Android(安卓)studio项目里面的类名不能重命名
  6. android实现截屏操作
  7. Android动态模糊效果的快速实现方法
  8. Android(安卓)为点击事件添加震动效果
  9. Android(安卓)自定义View之中国地图热点区域分布

随机推荐

  1. Android多Module下的Application引用方式
  2. Android(安卓)Bitmap垂直翻转
  3. android4.3 截屏功能的尝试与失败分析
  4. Android命令行编译方法,不用Eclipse IDE
  5. Android中数据存储方式一:文件形式
  6. android开发-界面设计基本知识Ⅲ
  7. 【Android(安卓)frameLayout布局】使用fr
  8. Java bit, byte, 基本数据类型
  9. android实时视频网络传输方案总结
  10. Android(安卓)动画学习 二