温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中Animation资源有哪些

发布时间:2021-12-18 16:49:56 来源:亿速云 阅读:163 作者:iii 栏目:移动开发

本篇内容介绍了“Android中Animation资源有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

SDK中的示例程序App->Activity->Animation演示了切换Activity时的动画效果。提供了两种动画效果,一种是Fade In渐变,后出现的Activity由浅入深逐渐显示;另一种是Zoom放大效果,后出现的Activity由小及大逐渐显示。

Android中Animation资源有哪些

Android 中 Animation 资源可以分为两种:

Tween Animation 对单个图像进行各种变换(缩放,平移,旋转等)来实现动画。

Frame Animation 由一组图像顺序显示显示动画。

Animation 中使用的是Tween Animation,使用的资源为R.anim.fade、R.anim.hold、R.anim.zoom_enter、R.anim.zoom_exit。

其中R.anim.fade、R.anim.zoom_enter分别为Fade In 和 Zoom动画资源。其定义为:

fade.xml

<alpha xmlns:android=”http://schemas.android.com/apk/res/android”    android:interpolator=”@android:anim/accelerate_interpolator”    android:fromAlpha=”0.0&Prime; android:toAlpha=”1.0&Prime;    android:duration=”@android:integer/config_longAnimTime” />

zoom_center.xml

<set xmlns:android=”http://schemas.android.com/apk/res/android”    android:interpolator=”@android:anim/decelerate_interpolator”>   <scale android:fromXScale=”2.0&Prime; android:toXScale=”1.0&Prime;     android:fromYScale=”2.0&Prime; android:toYScale=”1.0&Prime;     android:pivotX=”50%p” android:pivotY=”50%p”     android:duration=”@android:integer/config_mediumAnimTime” />   </set>

tween animation 资源定义的格式如下:

<?xml version=”1.0&Prime; encoding=”utf-8&Prime;?>    <set xmlns:android=”http://schemas.android.com/apk/res/android”     android:interpolator=”@[package:]anim/interpolator_resource”     android:shareInterpolator=[ ” true ” false “>    <alpha    android:fromAlpha=”float”     android:toAlpha=”float” />    <scale    android:fromXScale=”float”     android:toXScale=”float”     android:fromYScale=”float”     android:toYScale=”float”     android:pivotX=”float”     android:pivotY=”float” />    <translate    android:fromXDelta=”float”     android:toXDelta=”float”     android:fromYDelta=”float”     android:toYDelta=”float” />    <rotate    android:fromDegrees=”float”     android:toDegrees=”float”     android:pivotX=”float”     android:pivotY=”float” />    <set> &hellip;     </set>    </set>

<set> 为其它animation类型<alpha>,<scale>,<translate>和<rotate>或其它<set>的容器。

android:interpolator 为Interpolator资源ID,Interpolator定义了动画的变化速率,动画的各帧的显示可以加速,减速,重复显示。

android:shareInterpolator 如果想为<set>中的各个子动画定义共享interpolator,shareInterpolator 则设为true。

<alpha> 定义Fade in 、Fade out 动画,其对应的Android类AlphaAnimation,参数由fromAlpha,toAlpha定义。

<scale>定义缩放动画,其对应的Android类为ScaleAnimation,参数由fromXScale、toXScale、 fromYScale、toYScale、pivotX、pivotY定义,pivotX、pivotY定义了缩放时的中心。

<translate>定义平移动画,其对应的Android类为TranslateAnimation,参数由fromXDelta、toXDelta、fromYDelta、toYDelta定义。

<rotate>定义选择动画,其对应的Android类RotateAnimation,参数由fromDegrees、toDegrees、pivotX、pivotY, pivotX、pivotY定义选择中心。

Animation中的Fade In和Zoom In按钮的事件处理代码:

private OnClickListener mFadeListener = new OnClickListener() {     public void onClick(View v) {     // Request the next activity transition (here starting a new one).     startActivity(new Intent(Animation.this, Controls1.class));     // Supply a custom animation.  This one will just fade the new     // activity on top.  Note that we need to also supply an animation     // (here just doing nothing for the same amount of time) for the     // old activity to prevent it from going away too soon.     overridePendingTransition(R.anim.fade, R.anim.hold);     }    };   private OnClickListener mZoomListener = new OnClickListener() {     public void onClick(View v) {     // Request the next activity transition (here starting a new one).     startActivity(new Intent(Animation.this, Controls1.class));     // This is a more complicated animation, involving transformations     // on both this (exit) and the new (enter) activity.  Note how for     // the duration of the animation we force the exiting activity     // to be Z-ordered on top (even though it really isn't) to achieve     // the effect we want.     overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);     }    };

从代码可以看到Activity Animation到其它Activity Controls1  切换的动画使用overridePendingTransition 来定义,函数overridePendingTransition(int  enterAnim, int exitAnim) 必须定义在StartActivity(Intent) 或是  Activity.finish()之后来定义两个Activity切换时的动画,enterAnim  为新Activity出现时动画效果,exitAnim则定义了当前Activity退出时动画效果。

“Android中Animation资源有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI