(安卓开发技术课件)35动画讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方法参数及属性含义: fromXScale、toXScale 分别是起始和结束时X坐标上的伸缩尺寸。 fromYScale、toYScale分别是起始和结束时Y坐标上的伸缩尺寸。 pivotXValue、pivotYValue 分别为动画相对于物件的X、Y坐标的开 始位置。pivotYType、 pivotXType 分别为x、y的伸缩模式。pivotX、 pivotY分别为动画相对于物件的X、Y坐标的开始位置。
// 设置动画的时间 mAnimationTranslate.setDuration(1000);
// 开始播放动画 image.startAnimation(mAnimationTranslate);
2. 使用AnimationUtils类的loadAnimation方法来获取Animation动 画对象,通过startAnimation方法开始播放动画。 Animation a=AnimationUtils.loadAnimation(this,R.anim.t) image.startAnimation(a);
平移效果动画
动画讲解
2. 在res/anim目录下新建一个xml文档 (t.xml)
<?xml version="1.0" encoding="utf-8"?> <translate
xmlns:android="/apk/res/android" android:fromXDelta="-100" android:toXDelta="360" android:fromYDelta="0" android:toYDelta="0" android:duration="3000"/>
android:duration="3000" android:fromAlpha="0" android:toAlpha="1" /> 方法参数及属性含义: fromAlpha 为动画起始透明度;toAlpha为动 画结束透明度(0.0表示完全透明,1.0表示完全不透明)。
透明效果动画的实现
1. // 创建Alpha动画 AlphaAnimation mAnimationAlpha = new AlphaAnimation(0 ,1);
旋转效果动画的实现
动画讲解
1. // 创建Rotate动画 mAnimationRotate = new RotateAnimation(0.0f, +360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
缩放动画效果的实现
动画讲解
1. // 创建Scale动画 ScaleAnimation mAnimationScale = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f,Animation.RELATIVE_TO_SELF, 0.5f,Animation.RELATIVE_TO_SELF, 0.5f);
案例一说明
动画讲解
案例说明:利用Tween动画实现如下图所示的效果
案例一简要实现代码
动画讲解
//实现透明效果动画 button1.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
Animation a=AnimationUtils.loadAnimation(Activity01.this, R.anim.alpha1); image.startAnimation(a); } }); //实现尺寸缩放动画 button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Animation a1=AnimationUtils.loadAnimation(Activity01.this,R.anim.scale); image.startAnimation(a1); } }); 省略。。。
// 设置动画持续时间 mAnimationAlpha.setDuration(3000);
// 开始播放动画 image.startAnimation(mAnimationAlpha);
动画讲解
2. 使用AnimationUtils类的loadAnimation方法来获取Animation动 画对象。AnimationUtils类里放置的都是Animation类的一些公共的 方法,其中loadAnimation方法就是通过xml文件来生成Animation 对象的。
要想实现帧动画的播放首先需要创建一个animationdrawable对象来表示frame动画然后通过addframe方法把每一帧动画的内容加进去最后通过start方法开始播放动画同时也可以使用setoneshot方法来设置动画是否重复播放当然也可以使用stop方法停止播放动画
Android开发技术
Tween常用属性
动画讲解
属性名 android:duration android:fillAfter
android:repeatCount android:startOffset Android:repeatMode
描述
动画的持续时间(以毫秒为单位)
当设置为true时,动画保持结束 时的状态。默认为false,动画完 成之后返回最初的状态
旋转效果动画
动画讲解
将视图进行任意角度的旋转的动画的效果,要想得到Anim ation动画对象必须使用RotateAnimation。 1. 获得RotateAnimation对象的方法 new RotateAnimation(float fromDegress, float toDegress, int pivotXType, float pivotXValue, int pivotYType, float pivotYVim目录下新建一个xml文档 (s.xml)
<scale android:fromXScale="0.0" android:toXScale="1.4" android:fromYScale="0.0" android:toYScale="1.4" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:duration="700" />
// 设置动画的时间 mAnimationScale.setDuration(1000);
// 开始播放动画 image.startAnimation(mAnimationScale);
2. 使用AnimationUtils类的loadAnimation方法来获取Animation动 画对象,通过startAnimation方法开始动画。 Animation a=AnimationUtils.loadAnimation(this,R.anim.s) image.startAnimation(a);
1. 获取Animation对象的方法 AlphaAnimation(fromAlpha ,toAlpha);
2. 在res/anim目录下新建一个xml文档 (a.xml) <alpha xmlns:android="/apk/res/android"
Animation a=AnimationUtils.loadAnimation(this, R.anim.a);
image.startAnimation(a);
平移效果动画
动画讲解
将视图进行水平或垂直方向的平移转化,要想得到Animati on动画对象必须使用TranslateAnimation。 1. 获得TranslateAnimation对象的方法 TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta);
动画讲解
主要内容
• 动画介绍 • Tween、Frame动画介绍 • Tween、Frame动画的使用
动画讲解
动画介绍
动画讲解
动画的英文“Animation”。Animation一词源自于拉丁文 字根的anima,意思为灵魂;动词animate是赋予生命,引申为 使某物活起来的意思 。所以animation可以解释为经由创作者的 安排,使原本不具生命的东西像获得生命一般地活动。广义而言, 把一些原先不活动的东西,经过影片的制作与放映,变成会活动 的影像,即为动画。动画是通过把人、物的表情、动作、变化等 分段画成许多画幅,再用摄影机连续拍摄成一系列画面,给视觉 造成连续变化的图画。它的基本原理与电影、电视一样,都是视 觉原理。
Activity跳转时的动画效果
动画讲解
Activity跳转时的动画效果: Intent intent = new Intent(); intent.setClass(MainActivity.this, OtherActivity.class); startActivity(intent); overridePendingTransition(R.anim.fade, R.anim.hold);
缩放动画效果
动画讲解
将视图放大或缩小来实现动画效果,要想得到Animation 动画对象必须使用ScaleAnimation来获取。 1. 获得ScaleAnimation对象的方法 new ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue);
旋转效果动画
动画讲解
2. 在res/anim目录下新建一个xml文档 (r.xml) <rotate
android:fromDegrees="0" android:toDegrees="+350" android:pivotX="50%" android:pivotY="50%" android:duration="3000" /> 方法参数及属性含义: pivotX,pivotY取值范围为0%到100% fromDegress 为开始的角度; toDegress 为结束的角度。 pivotXType、pivotYType分别为x、y 的伸缩模式。pivotXValue、 pivotYValue 分别为伸缩动画相对于x、y的坐标的开始位置。
// 设置动画的时间 mAnimationRotate.setDuration(1000);
// 开始播放动画 image.startAnimation(mAnimationRotate);
2. 使用AnimationUtils类的loadAnimation方法来获取Animation动 画对象,通过startAnimation方法开始动画。 Animation a=AnimationUtils.loadAnimation(this,R.anim.r) image.startAnimation(a);
注意:此方法只能在startActivity和finish方法之后调用。第一 个参数为第一个Activity离开时的动画,第二参数为第二个Acti vity进入时的动画效果。
方法参数及属性含义: fromXDelta 为动画起始时 X坐标上的位置 toXDelta 为动画结束时 X坐标上的位置 fromYDelta 为动画起始时 Y坐标上的位置 toYDelta 为动画结束时 Y坐标上的位置
平移动画效果的实现
动画讲解
1. // 创建Translate动画 mAnimationTranslate = new TranslateAnimation(-100, 360, 0, 0);
重复的次数。
动画之间的时间
定义重复的行为,1表示重新开始, 2表示从最后一个状态往回逆序播 放
透明效果动画
动画讲解
透明效果就是将图像慢慢的淡下去,将图片背景显示出来,要想 得到Animation动画对象必须使用AlphaAnimation来获取,AlphaA nimation是Animation类的直接子类。
相关文档
最新文档