导航:首页 > 操作系统 > android动画渐入

android动画渐入

发布时间:2022-05-24 05:33:55

⑴ 如何高效学习android动画

Android动画初步
动画(Animation)在我们日常的Android开发工作当中使用得较为频繁,尤其对于Android游戏这个动画的集合体,掌握动画开发的重要性毋庸置疑。同样的,在Android应用开发中我们也经常使用动画效果来提升APP用户体验,比如应用中的图片的旋转,页面和页面之间的淡入淡出、左右渐入渐出切换效果等等。
动画的分类
Android FrameWork向开发人员提供了丰富的API用于实现各种各样的动画效果,而若要对动画分类,一般可将Android动画分为以下两类的动画系统:
View Animation
View Animation动画系统又可以分类成Tween Animation 和Frame Animation:
Tween Animation
Tween Animation是Android系统比较老的一种动画系统,它的特点是通过对场景里的对象不断做图像变换(渐变、平移、缩放、旋转)产生动画效果,且这种动画只适用于View对象。
Frame Animation
Frame Animation也是常用到的动画,它的原理比较简单,就是将一系列准备好的图片按照顺序播放,形成动画效果。
Property Animation
Property Animation(属性动画)是在Android3.0(API 11)之后引入的一种动画系统,该动画提供了比View Animation更加丰富、强大和灵活的功能,Android官方推荐开发人员使用该动画系统来实现动画。Property Animation的特点是动态地改变对象的属性从而达到动画效果。该动画实现使用于包括View在内的任何对象。

Tween Animation
了解到Tween Animation是Android中比较老的一种动画系统,且其只能实现对View对象动画设置,不过其虽然没有Property Aniamtion功能那么强大和灵活,但是使用Tween Animation依然能完成日常大部分的开发需求。灵活地掌握Tween Animation的使用方法,十分有必要。那Tween Animation实现View的动画,一般分为以下几种效果:
Alpha:渐变透明动画效果;
Scale:渐变尺寸伸缩动画效果;
Translate:位置位移动画效果;
Rotate:位置旋转动画效果。
接下来通过实例来一一学习如何实现以上几种动画效果,实现Tween Animation分为xml实现和代码实现,下面会分别使用这两种方式来实现上面的的几种动画效果。首先使用xml方式来实现View的Alpha渐变透明动画效果,在项目目录结构中创建res/anim文件夹,然后在文件夹中创建view_animation_alpha.xml文件,文件中的代码如下:
[html] view plain


<!--
* android:interpolator:修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),
* decelerated(减速),repeated(重复),bounced(弹跳)等。
* android:fromAlpha="0.0":设置动画开始时控件的透明度,0.0为透明,控件不显示,1.0为不透明,控件全部显示
* android:toAlpha="1.0":设置动画结束时的控件的透明度
* android:ration="2500":设置每一次动画持续的时间值
* android:repeatCount="5":设置动画重复的次数
* android:repeatMode="reverse":设置动画重复的模式,reverse为0.0 -> 1.0 -> 0.0,动画反复执行;
* restart为0.0 -> 1.0, 0.0 -> 1.0,动画每次都重新开始执行
-->
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:ration="2500"
android:repeatCount="5"
android:repeatMode="reverse"
/>
xml文件中的属性在代码中都有详细的解释,这里就不重复说明了。定义完XML文件后,然后在代码中使用AnimationUtils类调用loadAnimation(context, id)方法来加载xml文件,具体代码如下:
[java] view plain


/**
* xml文件加载图片渐变(Alpha)动画
*/
Animation mAnimation = AnimationUtils.loadAnimation(this, R.anim.view_animation_alpha);
上面是使用xml实现Alpha的动画效果,下面我们来看看如何在代码中实现Alpha的动画,很简单,只需要实例化一个AlphaAnimation对象,然后传递相关参数就行,具体代码如下:
[java] view plain


/**
* 代码创建图片渐变(Alpha)动画
* 实例化AlphaAnimation对象:
* mAnimation = new AlphaAnimation(fromAlpha, toAlpha);
* fromAlpha:设置动画开始时控件的透明度,0.0为透明,控件不显示,1.0为不透明,控件全部显示
* toAlpha:设置动画结束时的控件的透明度
*/

Animation mAnimation = new AlphaAnimation(0.0f, 1.0f);
分别使用xml和代码实现Alpha动画后,最后为一个ImageView对象设置创建好的Alpha动画,ImageView对象只需要调用startAnimation(Animation animation)方法,将刚刚创建好的alpha动画对象作为参数添加传进去搞定,具体代码如下:
[java] view plain


ImageView mImageView = (ImageView)findViewById(R.id.view_animation_imageview);
//设置控件开始执行动画
mImageView.startAnimation(mAnimation);

⑵ Android 中的动画有哪几类,它们的特点和区别是什么

Android包含三种动画:

ViewAnimation、 Drawable Animation、Property Animation。

ViewAnimation(Tween Animation补间动画):


动画的对象除了传统的View对象,还可以是Object对象,动画之后,Object对象的属性值被实实在在的改变了。Property animation能够通过改变View对象的实际属性来实现View动画。任何时候View属性的改变,View能自动调用invalidate()来刷新。

⑶ Android中属性动画和补间动画的区别

Android的SDK提供了三种类型的动画,分别是补间动画、逐帧动画和插值属性动画。下面先介绍第一种动画效果-补间动画。 补间动画可以应用于View,让开发者可以定义一些关于大小、位置、旋转和透明度的改变效果,达到让View的内容动起来的效果。 补间动画是使用Animation类创建的,它有4个直接子类,分别实现不同的动画效果,分别为: AlphaAnimation 渐变透明度动画效果,即淡入淡出效果 ScaleAnimation 渐变尺寸伸缩动画效果,即缩放效果 TranslateAnimation 画面转换位置移动动画效果,移动效果 RotateAnimation 画面转移旋转动画效果,即旋转效果 要使用补间动画的效果,有两种方法,第一种是在XML文件中设置动画效果;第二种是在Java代码中设置。下面分别介绍这两种方法: 1.在XML文件中设置方式: 在Android项目的res目录下新建anim文件夹,然后在anim文件夹下新建firstanim.xml,添加动画效果的配置代码,示例代码如下: [html] android:fromAlpha="0.1" android:toAlpha="1.0" android:ration="3000" /> android:interpolator= "@android:anim/accelerate_decelerate_interpolator" 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:ration="700" /> android:fromXDelta="30" android:toXDelta="-80" android:fromYDelta="30" android:toYDelta="300" android:ration="2000" /> android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" android:toDegrees="+350" android:pivotX="50%" android:pivotY="50%" android:ration="3000" /> android:fromAlpha="0.1" android:toAlpha="1.0" android:ration="3000" /> android:interpolator= "@android:anim/accelerate_decelerate_interpolator" 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:ration="700" /> android:fromXDelta="30" android:toXDelta="-80" android:fromYDelta="30" android:toYDelta="300" android:ration="2000" /> android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" android:toDegrees="+350" android:pivotX="50%" android:pivotY="50%" android:ration="3000" /> 在Activity中的onCreate()方法中,获取在XML中配置的动画效果,代码如下: [java] Animation animation= AnimationUtils.loadAnimation(this,R.anim.firstanim); Animation animation= AnimationUtils.loadAnimation(this,R.anim.firstanim); 如果这个动画效果使用在一个ImageView上,可以参考如下代码: [java] imageView.startAnimation(animation); imageView.startAnimation(animation);2.在Java代码中设置方式: 以AlphaAnimation为例, [java] //首先声明Animation的一个对象 private Animation alpha; //在Activity的onCreate()方法中实例化这个对象 alpha=new AlphaAnimation(0.1f, 1.0f); //设置动画持续时间为3秒 alpha.setDuration(3000); //首先声明Animation的一个对象 private Animation alpha; //在Activity的onCreate()方法中实例化这个对象 alpha=new AlphaAnimation(0.1f, 1.0f); //设置动画持续时间为3秒 alpha.setDuration(3000); 如果这个动画效果使用在一个ImageView上,可以参考如下代码: [java] imageView.startAnimation(alpha); imageView.startAnimation(alpha);

⑷ android中的动画有哪几类,它们的特点和区别是什么

android动画有两类:
一种是tweened animation(渐变动画)
一种是frame by frame(逐帧动画)
特点:
渐变动画是通过改变view的大小、旋转的角度、透明度、位置来产生动画,可以控制动画的播放快慢以及加速度。
逐帧动画是用一组图片轮流绘制,产生动画的感觉。类似于gif图片。
区别:
渐变动画的所有操作是通过矩阵变换对同一个物体(绘制的一个view或者图片)进行操作产生动画。
而逐帧动画是多个物体(多张图片)进行绘制,可以说这多张图片是不相关的(从播放的角度来看只能说是内容相关)。

⑸ Android 中的动画有哪几类,它们的特点和区别是什么

1.View Animation(Tween Animation):补间动画,给出两个关键帧,通过一些算法将给定属性值在给定的时间内在两个关键帧间渐变。
View animation只能应用于View对象,而且只支持一部分属性,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化.

2.Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影补间动画和帧动画。
补间动画和Frame动画的定义:
所谓补间动画,是指通过指定View的初末状态和变化时间、方式,对View的内容完成一系列的图形变换来实现动画效果。主要包括四种效果:Alpha、Scale、Translate和Rotate。
帧动画就是Frame动画,即指定每一帧的内容和停留时间,然后播放动画。。

3.属性动画
只是一个动画效果,组件其实还在原来的位置上,xy没有改变
###位移:
第一个参数target指定要显示动画的组件
第二个参数propertyName指定要改变组件的哪个属性
第三个参数values是可变参数,就是赋予属性的新的值
传入0,代表x起始坐标:当前x + 0
传入100,代表x终点坐标:当前x + 100
//具有get、set方法的成员变量就称为属性
ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "translationX", 0, 100) ;

4.四种基本的动画 ,透明/伸缩/移动/旋转。

(1)XML中

alpha 渐变透明度动画效果

scale 渐变尺寸伸缩动画效果
translate画面转换位置移动动画效果
rotate画面转移旋转动画效果
(2) JavaCode中

AlphaAnimation渐变透明度动画效果
ScaleAnimation渐变尺寸伸缩动画效果
TranslateAnimation画面转换位置移动动画效果
RotateAnimation画面转移旋转动画效果
(3)Android动画模式
Animation主要有两种动画模式:
一种是tweened animation(渐变动画)

一种是frame by frame(画面转换动画)

Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;
Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

⑹ Android里怎么实现TextView里面的文字一个一个逐渐显示出来的动画效果

很多方式,可以让TextView每隔多少时间重新setText一下。animation是针对View,不针对View上的文字,如果你让一个字显示在一个TextView上面,就可以用animation。

⑺ android 怎么在轮播时实现多种动画效果,如第一张到第二张渐变,第二张到第三张旋转

Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换:

首先 需要为ViewFlipper加入View

(1) 静态导入:在layout布局文件中直接导入

(2) 动态导入:addView()方法

ViewPlipper常用方法:

setInAnimation:设置View进入屏幕时候使用的动画

setOutAnimation:设置View退出屏幕时候使用的动画

showNext:调用该函数来显示ViewFlipper里面的下一个View

showPrevious:调用该函数来显示ViewFlipper里面的上一个View

setFlipInterval:设置View之间切换的时间间隔

startFlipping使用上面设置的时间间隔来开始切换所有的View,切换会循环进行

stopFlipping:停止View切换

讲了这么多,那么我们今天要实现的是什么呢?

(1) 利用ViewFlipper实现图片的轮播

(2) 支持手势滑动的ViewFlipper

我们需要先准备几张图片:把图片放进drawable中

创建两个动画:在res下面新建一个folder里面新建两个xml:

⑻ android中的动画有哪几类

在Android3.0(即API Level11)以前,Android仅支持2种动画:分别是Frame Animation(逐帧动画)和Tween Animation(补间动画),在3.0之后Android支持了一种新的动画系统,称为:Property Animation(属性动画)。

一、Frame Animation:(逐帧动画)

这个很好理解,一帧帧的播放图片,利用人眼视觉残留原理,给我们带来动画的感觉。它的原理的GIF图片、电影播放原理一样。

1.定义逐帧动画比较简单,只要在中使用子元素定义所有播放帧即可。

(1) android:oneshot 设置是否仅播放一次

(2) android:drawable 设置每一帧图片

(3) android:ration 设置图片间切换间隔

2.习惯上把AnimationDrawable设置为ImageView的背景

android:background=@anim/frame_anim

然后我们就可以在java代码中获取AnimationDrawable对象了

AnimationDrawable anim = (AnimationDrawable)imageView.getBackground();

(需要注意的是,AnimationDrawable默认是不播放的,调用其start()方法开始播放,stop停止播放)

3.上面的动画文件是通过xml文件来配置的,如果你喜欢,也可以通过在java代码中创建AnimationDrawable对象,然后通过addFrame(Drawable frame, int ration)方法向动画添加帧,然后start()。。。

二、Tween Animation:(补间动画)

补间动画就是我们只需指定开始、结束的“关键帧“,而变化中的其他帧由系统来计算,不必自己一帧帧的去定义。

1. Android使用Animation代表抽象动画,包括四种子类:AlphaAnimation(透明度动画)、ScaleAnimation(缩放动画)、TranslateAnimation(位移动画)、RotateAnimation(透明度动画)。Android里面允许在java中创建Animation类对象,但是一般都会采用动画资源文件来定义动画,把界面与逻辑分离

<set android:interpolator="@android:anim/linear_interpolator" xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定义透明度的变换 -->

<!-- 定义旋转变换 -->
<rotate android:ration="3000/" android:fromdegrees="0" android:pivotx="50%" android:pivoty="50%" android:todegrees="1800">
</rotate></alpha></set>

(一个set可以同时定义多个动画,一起执行。)

2. android:interpolator=@android:anim/linear_interpolator控制动画期间需要补入多少帧,简单来说就是控制动画速度,有些地方翻译为“插值“。Interpolator有几种实现类:LinearInterpolator、AccelerateInterpolator、、CycleInterpolator、DecelerateInterpolator,具体使用可以参考官方API Demo。

3. 定义好anim文件后,我们可以通过AnimationUtils工具类来加载它们,加载成功后返回一个Animation。然后就可以通过View的startAnimation(anim)开始执行动画了。

Animation anim = AnimationUtils.loadAnimation(this, R.anim.anim);
//设置动画结束后保留结束状态
anim.setFillAfter(true);
//设置插值效果
anim.setInterpolator(interpolator);
//对view执行动画
view. startAnimation(anim);

三、Property Animation:(属性动画)

属性动画,这个是在Android 3.0中才引进的,它可以直接更改我们对象的属性。在上面提到的Tween Animation中,只是更改View的绘画效果而View的真实属性是不改变的。假设你用Tween动画将一个Button从左边移到右边,无论你怎么点击移动后的Button,他都没有反应。而当你点击移动前Button的位置时才有反应,因为Button的位置属性木有改变。而Property Animation则可以直接改变View对象的属性值,这样可以让我们少做一些处理工作,提高效率与代码的可读性。

(1)ValueAnimator:包含Property Animation动画的所有核心功能,如动画时间,开始、结束属性值,相应时间属性值计算方法等。应用ValueAnimator有两个步骤

1计算属性值。

2根据属性值执行相应的动作,如改变对象的某一属性。

我们的主是第二步,需要实现ValueAnimator.onUpdateListener接口,这个接口只有一个函数onAnimationUpdate(),将要改变View对象属性的事情在该接口中do。

animation.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
//do your work
}
});

(2)ObjectAnimator:继承自ValueAnimator,要指定一个对象及该对象的一个属性,当属性值计算完成时自动设置为该对象的相应属性,即完成了Property Animation的全部两步操作。实际应用中一般都会用ObjectAnimator来改变某一对象的某一属性,但用ObjectAnimator有一定的限制,要想使用ObjectAnimator,应该满足以下条件:

1.对象应该有一个setter函数:set(驼峰命名法)

2如下面的例子,像ofFloat之类的工场方法,第一个参数为对象名,第二个为属性名,后面的参数为可变参数,如果values…参数只设置了一个值的话,那么会假定为目的值,属性值的变化范围为当前值到目的值,为了获得当前值,该对象要有相应属性的getter方法:get

3如果有getter方法,其应返回值类型应与相应的setter方法的参数类型一致。

ObjectAnimator oa=ObjectAnimator.ofFloat(tv, alpha, 0f, 1f);
oa.setDuration(3000);
oa.start();

如果不满足上面的条件,我们只能乖乖的使用ValueAnimator来创建动画。

(3)Animator.AnimatorListener:可以为Animator设置动画监听,需要重写下面四个方法。

onAnimationStart()
onAnimationEnd()
onAnimationRepeat()
onAnimationCancel()

这里我们也可以实现AnimatorListenerAdapter,他的好处是可以只用定义想监听的事件而不用实现每个函数却只定义一空函数体。如下:

anim.addListener(new AnimatorListenerAdapter() {
public void on AnimationEnd(Animator animation){
//do your work
}
});

(4)AnimationSet:可以组合多个动画共同工作

AnimatorSet bouncer = new AnimatorSet();
bouncer.play(anim1).before(anim2);
bouncer.play(anim2).with(anim3);
bouncer.play(anim2).with(anim4)
bouncer.play(anim5).after(amin2);
animatorSet.start();

上面的代码意思是: 首先播放anim1;同时播放anim2,anim3,anim4;最后播放anim5。

(5)TimeInterplator:与Tween中的interpolator类似。有以下几种

AccelerateInterpolator 加速,开始时慢中间加速

DecelerateInterpolator 减速,开始时快然后减速

先加速后减速,开始结束时慢,中间加速

AnticipateInterpolator 反向 ,先向相反方向改变一段再加速播放

反向加回弹,先向相反方向改变,再加速播放,会超出目的值然后缓慢移动至目的值

BounceInterpolator 跳跃,快到目的值时值会跳跃,如目的值100,后面的值可能依次为85,77,70,80,90,100

CycleIinterpolator 循环,动画循环一定次数,值的改变为一正弦函数:Math.sin(2 * mCycles * Math.PI * input)

LinearInterpolator 线性,线性均匀改变

OvershottInterpolator 回弹,最后超出目的值然后缓慢改变到目的值

TimeInterpolator 一个接口,允许你自定义interpolator,以上几个都是实现了这个接口

(6)Keyframes:可以让我们定义除了开始和结束以外的关键帧。KeyFrame是抽象类,要通过ofInt(),ofFloat(),ofObject()获得适当的KeyFrame,然后通过PropertyValuesHolder.ofKeyframe获得PropertyValuesHolder对象,如下:

Keyframe kf0 = Keyframe.ofInt(0, 400);
Keyframe kf1 = Keyframe.ofInt(0.25f, 200);
Keyframe kf2 = Keyframe.ofInt(0.5f, 400);
Keyframe kf4 = Keyframe.ofInt(0.75f, 100);
Keyframe kf3 = Keyframe.ofInt(1f, 500);
PropertyValuesHolder pvhRotation = PropertyValuesHolder.ofKeyframe(width, kf0, kf1, kf2, kf4, kf3);
ObjectAnimator rotationAnim = ObjectAnimator.ofPropertyValuesHolder(btn, pvhRotation);
上述代码的意思是:设置btn对象的width属性值使其:开始时 Width=400,动画开始1/4时 Width=200,动画开始1/2时 Width=400,动画开始3/4时 Width=100,动画结束时 Width=500。

(7)ViewPropertyAnimator:对一个View同时改变多种属性,非常推荐用这种。该类对多属性动画进行了优化,会合并一些invalidate()来减少刷新视图。而且使用起来非常简便,但是要求API LEVEL 12,即Android 3.1以上。仅需要一行代码即可完成水平、竖直移动

myView.animate().translationX(50f). translationY(100f);

(8)常需要改变的一些属性:

translationX,translationY: View相对于原始位置的偏移量

rotation,rotationX,rotationY: 旋转,rotation用于2D旋转角度,3D中用到后两个

scaleX,scaleY: 缩放比

x,y: View的最终坐标,是View的left,top位置加上translationX,translationY

alpha: 透明度

四、最后自己总结一下这三种动画的优缺点:

(1)Frame Animation(帧动画)主要用于播放一帧帧准备好的图片,类似GIF图片,优点是使用简单方便、缺点是需要事先准备好每一帧图片;

(2)Tween Animation(补间动画)仅需定义开始与结束的关键帧,而变化的中间帧由系统补上,优点是不用准备每一帧,缺点是只改变了对象绘制,而没有改变View本身属性。因此如果改变了按钮的位置,还是需要点击原来按钮所在位置才有效。

(3)Property Animation(属性动画)是3.0后推出的动画,优点是使用简单、降低实现的复杂度、直接更改对象的属性、几乎可适用于任何对象而仅非View类,缺点是需要3.0以上的API支持,限制较大!但是目前国外有个开源库,可以提供低版本支持!

⑼ 如何设定Android Activity间切换时的动画

转载本代码示例介绍如何设定Activity间切换时的动画效果。本示例使用Eclipse的Android工程编译测试。

1. 定义清单文件(AndroidManifest.xml)

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http。//schemas。android。com/apk/res/android"

package="my.android.test"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".Animation"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity android:name=".Controls1"

android:label="@string/app_name"

android:theme="@android:style/Theme.Light">

</activity>

</application>

<uses-sdk android:minSdkVersion="9" />

</manifest>

2. 定义字符串资源(res/values/strings.xml)

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello World,Aniation!</string>

<string name="app_name">Animation</string>

<string name="activity_animation_msg">Press a button to launch an activity with a custom animation.</string>

<string name="activity_animation_fade">Fade in</string>

<string name="activity_animation_zoom">Zoom in</string>

<string name="controls_1_save">Save</string>

<string name="controls_1_checkbox_1">Checkbox 1</string>

<string name="controls_1_checkbox_2">Checkbox 2</string>

<string name="controls_1_radiobutton_1">RadioButton 1</string>

<string name="controls_1_radiobutton_2">RadioButton 2</string>

<string name="controls_1_star">Star</string>

<string name="textColorPrimary">textColorPrimary</string>

<string name="textColorSecondary">textColorSecondary</string>

<string name="textColorTertiary">textColorTertiary</string>

<string name="listSeparatorTextViewStyle">listSeparatorTextViewStyle</string>

</resources>

3. 定义渐入动画资源定义(res/anim/fade.xml、res/anim/hold.xml)

res/anim/fade.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!-- 声明动画对象的透明度,本例使用渐入的方式,显示Activity

属性说明参照zoom_exit.xml -->

<alpha xmlns:android="http。//schemas。android。com/apk/res/android"

android:interpolator="@android:anim/accelerate_interpolator"

android:fromAlpha="0.0" android:toAlpha="1.0"

android:ration="@android:integer/config_longAnimTime" />

res/anim/hold.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!-- 声明动画对象的水平和垂直移动量,本例使用水平移动方式,

android:interpolator:指定在设定时间内动画移动过程中插补器,用于改善动画的平滑度

android:fromXDelta:指定动画开始时,动画对象的水平位置,可以用像素智设定,也可以用

相对父窗口宽度的百分比来设定。

android:toXDelta:指定动画结束时,动画对象的水平位置,可以用像素值来设定,也可以用

相对父窗口宽度的百分比来设定。

android:ration:指定动画的播放时间

-->

<translate xmlns:android="http。//schemas。android。com/apk/res/android"

android:interpolator="@android:anim/accelerate_interpolator"

android:fromXDelta="0" android:toXDelta="0"

android:ration="@android:integer/config_longAnimTime" />

4. 定义缩放动画资源定义(res/anim/zoom_enter.xml、res/anim/zoom_exit.xml)

res/anim/zoom_enter.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!-- 声明动画对象进入屏幕时的动画资源

android:interpolator:指定在设定时间内动画移动过程中插补器,用于改善动画的平滑度

-->

<set xmlns:android="http。//schemas。android。com/apk/res/android"

android:interpolator="@android:anim/decelerate_interpolator">

<!-- 声明动画对象进入屏幕时的缩放动画,

属性说明参照zoom_exit.xml -->

<scale android:fromXScale="2.0" android:toXScale="1.0"

android:fromYScale="2.0" android:toYScale="1.0"

android:pivotX="50%p" android:pivotY="50%p"

android:ration="@android:integer/config_mediumAnimTime" />

</set>

res/anim/zoom_exit.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!-- 声明Activity退出时使用的动画资源

android:interpolator:指定在设定时间内动画移动过程中插补器,用于改善动画的平滑度

android:zAdjustment:允许再动画播放期间,调整播放内容在Z轴方向的顺序,normal(0):真正播放的

动画内容保持当前的Z轴顺序,top(1):在动画播放期间,强制把当前播放的内容放到其他内容的上面;

bottom(-1):在动画播放期间,强制把当前播放的内容放到其他内容之下。

-->

<set xmlns:android="http。//schemas。android。com/apk/res/android"

android:interpolator="@android:anim/decelerate_interpolator"

android:zAdjustment="top">

<!-- 指定动画对象的缩放因子和播放时间

android:fromXScale和android:toXScale指定X轴的动画开始和结束时的缩放因子

android:fromYScale和android:toYScale指定Y轴的动画开始和结束时的缩放因子

android:pivoteX:在动画对象被缩放时,X轴要保留的原始尺寸的百分比。

android:pivoteY:在动画对象被缩放时,Y轴要保留的原始尺寸的百分比。

android:ration指定动画的播放时间

-->

<scale android:fromXScale="1.0" android:toXScale=".5"

android:fromYScale="1.0" android:toYScale=".5"

android:pivotX="50%p" android:pivotY="50%p"

android:ration="@android:integer/config_mediumAnimTime" />

<!-- 定义动画对象的透明度,该动画在动画缩放之后播放。

android:fromAlpha:指定动画初始时的透明度

android:toAlpha:指定动画结束时的透明度

android:ratiion:指定动画透明处理的执行时间

-->

<alpha android:fromAlpha="1.0" android:toAlpha="0"

android:ration="@android:integer/config_mediumAnimTime"/>

</set>

⑽ android 怎么做淡入淡出效果

淡入enteralpha.xml为
<?xmlversion="1.0"encoding="utf-8"?>
<setxmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<!--动画效果从看不见到可以看见,也就是0到1,变幻时间为5000毫秒-->
<alpha
android:fromAlpha="0"
android:toAlpha="1"
android:ration="5000"
/>
</set>
淡出exitalpha.xml为
<?xmlversion="1.0"encoding="utf-8"?>
<setxmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<!--退出动画效果从可以看见到不可以看见,也就是1.0到0,变幻时间为5000毫秒-->
<alpha
android:fromAlpha="1.0"
android:toAlpha="0"
android:ration="5000"
/>
</set>

阅读全文

与android动画渐入相关的资料

热点内容
删除分区加密的空间会不会恢复 浏览:702
京东app客户上门怎么看搜索量 浏览:739
怎么在农行app购买黄金 浏览:45
c型开发板和单片机 浏览:146
虚拟机建立用户的模板文件夹 浏览:904
无锡代码编程培训班 浏览:631
eps图形数据加密 浏览:932
没有滴滴app怎么打车 浏览:101
大数乘法java 浏览:1001
如何登录服务器看源码 浏览:526
如何做服务器端 浏览:157
注册服务器地址指什么 浏览:434
文本命令行 浏览:98
扑克牌睡眠解压 浏览:196
rc4算法流程图 浏览:161
胡萝卜解压方法 浏览:38
扫描pdf格式软件 浏览:879
程序员在银行开账户 浏览:517
android数据库下载 浏览:752
中午服务器崩溃怎么办 浏览:426