android学习笔记——android动画Animation的讲解
2016-01-06 15:37
615 查看
android动画的详解可以参考这里:http://www.360doc.com/content/13/0102/22/6541311_257754535.shtml
这里详细介绍了一下动画详解,非常详尽。回头看自己写的,真是shit!
有必要更新一下这篇文档了,我们先介绍一下
一、Animations介绍
Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。
二、Animations的分类
Animations从总体上可以分为两大类:
1.Tweened Animations:该类Animations提供了旋转、移动、伸展和淡出等效果。Alpha——淡入淡出,Scale——缩放效果,Rotate——旋转,Translate——移动效果。
2.Frame-by-frame Animations:这一类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间歇一个一个的显示。
三、Animations的使用方法(代码中使用)
Animations extends Object implements Cloneable
使用TweenedAnimations的步骤:
1.创建一个AnimationSet对象(Animation子类);
2.增加需要创建相应的Animation对象;
3.更加项目的需求,为Animation对象设置相应的数据;
4.将Animatin对象添加到AnimationSet对象当中;
5.使用控件对象开始执行AnimationSet。
Tweened Animations的分类
1、Alpha:淡入淡出效果
2、Scale:缩放效果
3、Rotate:旋转效果
4、Translate:移动效果
Animation的四个子类:
AlphaAnimation、TranslateAnimation、ScaleAnimation、RotateAnimation
下面我就来用代码展示一下怎么用
//需要用到一个AnimationSet的类,
AnimationSet animationSet = new AnimationSet(true);
AlphaAnimation animation = new AlphaAnimation(0,1);
animation.setDuration(10000);
ScaleAnimation animation1 = new ScaleAnimation(1,4,1,4);
animation1.setDuration(5000);
TranslateAnimation animation2 = new TranslateAnimation(20,400,20,400);
animation2.setDuration(5000);
//将多个Animation加到一起
animationSet.addAnimation(animation);
animationSet.addAnimation(animation1);
animationSet.addAnimation(animation2);
//最后给控件设置上
imageView.setAnimation(animationSet);
还可以在XML中编写好这些补间动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true">
<alpha
android:fromAlpha="0.2"
android:toAlpha="1.0"
android:duration="2000"
/>
<translate
android:fromXDelta="0%"
android:toXDelta="100%"
android:fromYDelta="0%"
android:toYDelta="100%"
android:duration="3000"/>
</set>
然后需要在java代码要做的工作:
//用xml来使用Animations动画
Animation animation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.translate);
imageView.setAnimation(animation);
上述只是介绍了补间动画,并没有介绍帧动画。可以参考上方给出的连接,仔细阅读,非常非常的详尽!
这里详细介绍了一下动画详解,非常详尽。回头看自己写的,真是shit!
有必要更新一下这篇文档了,我们先介绍一下
一、Animations介绍
Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。
二、Animations的分类
Animations从总体上可以分为两大类:
1.Tweened Animations:该类Animations提供了旋转、移动、伸展和淡出等效果。Alpha——淡入淡出,Scale——缩放效果,Rotate——旋转,Translate——移动效果。
2.Frame-by-frame Animations:这一类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间歇一个一个的显示。
三、Animations的使用方法(代码中使用)
Animations extends Object implements Cloneable
使用TweenedAnimations的步骤:
1.创建一个AnimationSet对象(Animation子类);
2.增加需要创建相应的Animation对象;
3.更加项目的需求,为Animation对象设置相应的数据;
4.将Animatin对象添加到AnimationSet对象当中;
5.使用控件对象开始执行AnimationSet。
Tweened Animations的分类
1、Alpha:淡入淡出效果
2、Scale:缩放效果
3、Rotate:旋转效果
4、Translate:移动效果
Animation的四个子类:
AlphaAnimation、TranslateAnimation、ScaleAnimation、RotateAnimation
下面我就来用代码展示一下怎么用
//需要用到一个AnimationSet的类,
AnimationSet animationSet = new AnimationSet(true);
AlphaAnimation animation = new AlphaAnimation(0,1);
animation.setDuration(10000);
ScaleAnimation animation1 = new ScaleAnimation(1,4,1,4);
animation1.setDuration(5000);
TranslateAnimation animation2 = new TranslateAnimation(20,400,20,400);
animation2.setDuration(5000);
//将多个Animation加到一起
animationSet.addAnimation(animation);
animationSet.addAnimation(animation1);
animationSet.addAnimation(animation2);
//最后给控件设置上
imageView.setAnimation(animationSet);
还可以在XML中编写好这些补间动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true">
<alpha
android:fromAlpha="0.2"
android:toAlpha="1.0"
android:duration="2000"
/>
<translate
android:fromXDelta="0%"
android:toXDelta="100%"
android:fromYDelta="0%"
android:toYDelta="100%"
android:duration="3000"/>
</set>
然后需要在java代码要做的工作:
//用xml来使用Animations动画
Animation animation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.translate);
imageView.setAnimation(animation);
上述只是介绍了补间动画,并没有介绍帧动画。可以参考上方给出的连接,仔细阅读,非常非常的详尽!
相关文章推荐
- android学习笔记——FileInputStream和FileOutputStream
- android应用框架搭建------BaseActivity
- Android布局详解之一:FrameLayout
- android学习笔记——onTouchEvent方法的使用
- android:process=":remote"属性解说
- android学习笔记——Bitmaps的使用(处理大图时防止OOM)
- Android——getSystemService
- 手把手带你画一个 时尚仪表盘 Android 自定义View
- 手把手带你画一个 时尚仪表盘 Android 自定义View
- 手把手带你画一个 时尚仪表盘 Android 自定义View
- Android Studio 配置SVN实现代码管理
- 验证Android事件传递机制(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
- android 文件上传(POST方式模拟表单提交)
- android 对话框(一)Dialog
- Android编程之简单计时器实现方法
- Android:关闭应用
- Android:程序中安装程序APK
- Android 去掉gridView的默认点击背景
- android lib下不同的cpu类型 不同的.so文件
- Android编程之线性布局LinearLayout实例简析