初始化Animation,从类的名字可以看出是一个变换View的位置的动画,参数起点横坐标,终点横坐标,起点纵坐标,终点纵坐标。
Animation a = new TranslateAnimation(0.0f,
targetParent.getWidth() - target.getWidth() - targetParent.getPaddingLeft() -
targetParent.getPaddingRight(), 0.0f, 0.0f);
下面是动画的参数设置,我加上了注释
a.setDuration(1000);//设置动画所用的时间
a.setStartOffset(300);//设置动画启动的延时
//设置重复模式,RESTART为结束后重新开始,REVERSE为按原来的轨迹逆向返回
a.setRepeatMode(Animation.RESTART);
//设置重复次数,INFINITE为无限
a.setRepeatCount(Animation.INFINITE);
//根据用户在Spinner的选择设置target的进入的方式
switch (position) {
case 0:
//加速进入
a.setInterpolator(AnimationUtils.loadInterpolator(this,
android.R.anim.accelerate_interpolator));
break;
case 1:
//减速进入
a.setInterpolator(AnimationUtils.loadInterpolator(this,
android.R.anim.decelerate_interpolator));
break;
case 2:
//加速进入.与第一个的区别为当repeatMode为reverse时,仍为加速返回原点
a.setInterpolator(AnimationUtils.loadInterpolator(this,
android.R.anim.accelerate_decelerate_interpolator));
break;
case 3:
//先往后退一点再加速前进
a.setInterpolator(AnimationUtils.loadInterpolator(this,
android.R.anim.anticipate_interpolator));
break;
case 4:
//减速前进,冲过终点前再后退
a.setInterpolator(AnimationUtils.loadInterpolator(this,
android.R.anim.overshoot_interpolator));
break;
case 5:
//case 3,4的结合体
a.setInterpolator(AnimationUtils.loadInterpolator(this,
android.R.anim.anticipate_overshoot_interpolator));
break;
case 6:
//停止前来回振几下
a.setInterpolator(AnimationUtils.loadInterpolator(this,
android.R.anim.bounce_interpolator));
break;
}
//让target开始执行这个动画
target.startAnimation(a);
}
这里使用的是Android已预设的一些动作,我们也可以自定义XML来实现更好看的动画效果的,这个下一篇再讲。
除了TranslationAnimation,还有AlphaAnimation、RotateAnimation、ScaleAnimation,使用这几个基体动作的组合,可以形成一系列复杂的动画效果。具体用法请查看SDK。
整个都比较简单,就一个函数的调用,还不懂的看一下API的注释和SDK文档,没什么难理解的。
分享到:
相关推荐
本文将深入探讨Android中常见的几种动画类型及其应用。 1. **帧动画(Frame Animation)** 帧动画是通过连续播放一系列图片来实现动画效果的。在Android中,可以使用`AnimationDrawable`类来创建帧动画。首先,将...
在`Android Animation Demo`中,你可能会看到以下几种Tween Animation的示例: 1. **Translate Animation**(平移动画):改变视图在屏幕上的位置。通过设置`fromXDelta`和`toXDelta`,以及`fromYDelta`和`toYDelta...
以下是对Android平滑切换屏幕的几种方法的详细说明: 1. **使用比例设计**: - Android推荐使用相对布局(RelativeLayout)或约束布局(ConstraintLayout),通过比例关系来设置控件的位置和大小,而不是硬编码...
"Android代码-animation的结合蝴蝶飞的动画使用动画里面的几种类型.zip"这个资源包显然包含了如何在Android应用中实现蝴蝶飞舞的动画效果,涉及到Android动画的不同类型。以下是关于Android动画及其在该示例中应用的...
本示例源码"Android高级应用源码-animation的结合蝴蝶飞的动画,使用动画里面的几种类型.zip"着重展示了如何利用Android的动画系统来创建一个逼真的蝴蝶飞舞效果。下面将详细解释这个项目中涉及的核心知识点。 1. *...
本文将深入探讨几种常见的Android图形特效,包括图片的圆角、图片的缩放、图片的倒影以及图片的旋转,这些都是Android开发者需要掌握的基本技能。 首先,我们来看如何实现图片的圆角效果。在Android中,可以使用...
这个压缩包"Android animation的结合蝴蝶飞的动画,使用动画里面的几种类型-IT计算机-毕业设计.zip"包含了一个Android应用源码Demo,专门展示了如何利用Android内置的动画机制创建一个蝴蝶飞舞的效果。这个案例非常...
这些动画可以通过`Animation`类的子类创建,并使用`startAnimation()`方法应用到`View`上。 **属性动画(Property Animation)** 属性动画是自API Level 11引入的新功能,它允许开发者对`View`的任何可动画属性...
Tween动画是在两帧之间进行平滑过渡的动画,主要包括以下几种类型: 1. **Alpha动画**:通过改变视图的透明度来实现动画效果。 2. **Scale动画**:通过改变视图的大小来实现动画效果。 3. **Translate动画**:通过...
本资源提供的"Android高级应用源码"展示了如何使用Android的animation库来实现一个生动的蝴蝶飞舞动画。这个例子中,开发者结合了多种动画类型,使蝴蝶的飞行动画更加逼真和吸引人。接下来,我们将深入探讨其中涉及...
这个“安卓Android源码——animation的结合蝴蝶飞的动画,使用动画里面的几种类型.zip”文件就是一个很好的例子,展示了如何在Android应用中实现蝴蝶飞舞的动画效果,利用了Android内置的不同动画类型。 首先,...
这篇博客“2011.10.18——— android 自定义Animation”可能详细探讨了如何在Android平台上自定义各种动画效果,包括但不限于平移、旋转、缩放和透明度变化等。 在Android中,动画主要分为两种类型:属性动画...
创建一个XML资源文件(如`butterfly_frame_animation.xml`)来存放帧序列,并设置每帧的持续时间,最后将这个动画资源设置为ImageView的背景,通过调用`start()`方法启动动画。 ```xml <!-- butterfly_frame_...
创建一个TweenAnimation通常包括以下几个步骤: 1. **定义动画参数**:为每个动画类型设置起始值和结束值,例如平移的距离、旋转的角度、缩放的比例或透明度的变化。 ```java TranslateAnimation translateAnim = ...
本文主要介绍 Tween Animation 的实现, Tween Animation 是对视图对象中的内容进行一系列简单的转换,比如位置的移动,大小的缩放,旋转,透明度的变化等等。 Tween Animation 可以写到一个 XML 文件中,就像定义...
这个"Android跑马灯几种实现"的标题暗示我们将探讨几种不同的方法来创建这种效果,而描述则强调通过博客文章深入理解自定义View的重要性。在Android中,跑马灯效果可以通过多种方式实现,包括使用TextView的marquee...
Android中的补间动画(Tween Animation),是一种常见的动画形式,主要用于模拟物体在屏幕上移动、缩放、旋转等效果。它不涉及对象的实际位置变化,而是通过一系列视觉上的变化来达到动画的效果。这种动画方式非常...
在Android开发中,抽奖转盘是一种常见的用户交互元素,它通常用于各种促销活动或游戏中,让用户有机会赢得奖励。本项目提供了“android 源码抽奖转盘”,这是一份宝贵的资源,适合那些想要深入理解如何在Android应用...
可以使用ViewPager组件配合Fragment实现这一效果,或者利用第三方库如`androidx.swiperefreshlayout.widget.SwipeRefreshLayout`实现上拉刷新。 6. **全屏模式(Fullscreen Mode)**: 有时我们希望Activity占据...
Android提供了以下几种主要的动画API: 1. **帧动画(Frame Animation)**:通过一系列连续的图像来创建动画效果,类似于传统的卡通制作方式。在Android中,我们可以使用`<animation-list>`标签在XML中定义帧动画,...