Android框架本身就使用了大量的动画效果,比如Activity切换的动画效果,Dialog弹出和关闭时的渐变动画效果以及Toast显示信息时的淡入淡出效果等等。Android系统框架为我们提供了一些动画类及其工具类,所以在Andorid应用中使用动画效果非常简单。Android中可以在xml中定义Animation,也可以在java code中定义。
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:
- AnimationSet animationSet = new AnimationSet(true);//创建一个AnimationSet对象
- AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);//创建一个AlphaAnimation对象
- alphaAnimation.setDuration(1000);//设置动画执行的时间(单位:毫秒)
- animationSet.addAnimation(alphaAnimation);//将AlphaAnimation对象添加到AnimationSet当中
- view.startAnimation(animationSet);//使用view的startAnimation方法开始执行动画
RotateAnimation :
AnimationSet animationSet = new AnimationSet(true);
-
/**
* 前两个参数定义旋转的起始和结束的度数,后两个参数定义圆心的位置
- */
- RotateAnimation rotateAnimation = new RotateAnimation(0, 360,
- Animation.RELATIVE_TO_PARENT, 1f,
- Animation.RELATIVE_TO_PARENT, 0f);
-
- rotateAnimation.setDuration(5000);
- animationSet.addAnimation(rotateAnimation);
- imageView.startAnimation(animationSet);
TranslateAnimation:
- AnimationSet animationSet = new AnimationSet(true);
-
- /**
- * x和y轴的起始和结束位置
- */
- TranslateAnimation translateAnimation = new TranslateAnimation
- (
- Animation.RELATIVE_TO_SELF, 0f,
- Animation.RELATIVE_TO_SELF,0.5f,
- Animation.RELATIVE_TO_SELF, 0f,
- Animation.RELATIVE_TO_SELF, 1.0f
- );
-
- translateAnimation.setDuration(1000);
- animationSet.addAnimation(translateAnimation);
- view.startAnimation(animationSet);
ScaleAnimation:
- AnimationSet animationSet = new AnimationSet(true);
-
- /**
- * 围绕一个点伸缩
- */
- ScaleAnimation scaleAnimation = new ScaleAnimation(1, 0.1f, 1,
- 0.1f, Animation.RELATIVE_TO_SELF, 0.5f,
- Animation.RELATIVE_TO_SELF, 0.5f);
- animationSet.addAnimation(scaleAnimation);
- animationSet.setStartOffset(1000);
- animationSet.setFillAfter(true);
- animationSet.setFillBefore(false);
- animationSet.setDuration(2000);
- view.startAnimation(animationSet);
代码下载地址:
http://www.devdiv.com/forum.php?mod=viewthread&tid=88504&pid=546599&page=1&extra=#pid546599
分享到:
相关推荐
UI开发第六篇——仿QQ的滑动TabUI开发第六篇——仿QQ的滑动Tab
Android UI开发第十六篇——分享一个popuwindow实例 http://blog.csdn.net/xyz_lmn/article/details/6921097
UI开发第九篇——SlidingDrawer 抽屉效果 UI开发第九篇——SlidingDrawer 抽屉效果
UI开发第八篇——ViewFlipper 左右滑动效果UI开发第八篇——ViewFlipper 左右滑动效果
Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh) http://blog.csdn.net/xyz_lmn/article/details/8101360
Android UI开发——SlidingDrawer 抽屉效果~~
Android UI开发专题(一) 之界面设计 近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,有关OpenGL ES相关的可能将...
安卓Android源码——ui开发类库示例源码.zip
如果你想要在一个TextView显示一个被...因为,Android已经给我封装好了——SpannableStringBuilder。下面我就学习Android中对控件的一些封装来封装一个我们自己的TextView(既可在xml中设置也可在Java代码中设置)。
android UI开发推荐颜色 android UI开发推荐颜色 android UI开发推荐颜色
《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用...
Android开发笔记,UI基础编程,PDF文档。
QMUI 团队出品,一个致力于提高 Android 项目 UI 开发效率的解决方案
Android开发与应用——张荣 原书配套例程代码, 由于书籍的前三章是介绍Android和开发环境的搭建的 所以例程代码从第四章开始到第九章。 原书目录如下。 第1章 Android简介 1.1 手机操作系统 1.2 Android起源 1.3...
详细信息可见博客,Android:shape开发详解-UI设计
Android UI开发经典资料,学习设计Android界面的必备资料
安卓Android源码——UI界面源码.zip
Android 4.0 ICS SystemUI浅析——StatusBar工作流程之时间日期设置文中涉及到的图片以及代码。 文章地址:http://blog.csdn.net/yihongyuelan
android UI界面开发图片,数量巨大,而且经典,觉得值得收藏 android UI界面开发图片,数量巨大,而且经典,觉得值得收藏