android中xml设置Animation动画效果详解

在 android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation 画面转换动画。

tweened animation 渐变动画有以下两种类型:

1.alpha 渐变透明度动画效果

2.scale 渐变尺寸伸缩动画效果

frame by frame animation 画面转换动画有以下两种类型:

1.translate 画面转换位置移动动画效果

2.rotate 画面转移旋转动画效果

在 res 文件夹下新建一个 anim 的文件夹,并在其中建立一个 animation.xml 文件,具体如下:

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

<set

xmlns:android="http://schemas.android.com/apk/res/android">

<translate

android:fromXDelta="0" // 设置动画开始时 x 坐标的位置

android:toXDelta="-100%p" // 设置动画结束时 x 坐标的位置

android:duration="300" // 设置动画持续的时间 300 毫秒

>

</translate>

<alpha

android:fromAlpha="1.0" // 设置动画开始时的透明度 1.0 代表不透明

android:toAlpha="0.0" // 设置动画开始时的透明度 0.0 表示完全透明

android:duration="300" // 设置动画持续的时间 300 毫秒

/>

<scale

android:interpolator=" // 设置动画出入器

@android:anim/accelerate_decelerate_interpolator"

android:fromXScale="0.0" // 设置动画开始时 x 坐标上的伸缩长度

android:toXScale="1.4" // 设置动画结束时 x 坐标上的伸缩长度

android:fromYScale="0.0" // 设置动画开始时 y 坐标上的伸缩长度

android:toYScale="1.4" // 设置动画开始时 y 坐标上的伸缩长度

android:pivotX="50%" // 设置动画相对于控件的 x 坐标的位置

android:pivotY="50%" // 设置动画相对于控件的 y 坐标的位置

android:fillAfter="false" // 该动画转化在动画结束前开始应用

android:duration="700" // 设置动画持续的时间

/>

<rotate

android:interpolator= // 设置动画出入器

"@android:anim/accelerate_decelerate_interpolator"

android:fromDegrees="0" // 设置动画开始时的角度

android:toDegrees="+350" // 设置动画结束时的旋转角度

android:pivotX="50%" // 设置动画相对于控件的 x 坐标的位置

android:pivotY="50%" // 设置动画相对于控件的 y 坐标的位置

android:duration="3000" // 设置动画持续的时间

/>

</set>

利用 AnimationUtils.loadAnimation 将动画加载

Animation animation;

animation=AnimationUtils.loadAnimation(this, R.anim.animation);

然后再想要实现动画效果的控件上通过使用 startAnimation() 方法进行添加。

// 编写动画对象,并且获取自定应的动画样式

animation=AnimationUtils.loadAnimation(this, R.anim.animation);

spinner.setOnTouchListener(new Spinner.OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

// TODO Auto-generated method stub

// 运行动画 animation

v.startAnimation(animation);

// 将 spinner 的可见性设置为不可见状态

v.setVisibility(View.INVISIBLE);

return false;

}

});

时间: 2024-10-26 14:06:51

android中xml设置Animation动画效果详解的相关文章

(四)Android动画开发---Animation动画效果详解

Android 使用Animation的具体操作方法我们将会在这篇文章中做一个详细的介绍.大家可以通过这里举出的代码进行解读,并从中了解到相关操作技巧,方便我们将来开发应用,并且加深对这一操作系统的理解程度. 在Android中,分别可以在xml中定义Animation,也可以在程序代码中定义. 动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转

Android animator Animation动画效果详解

Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果 Android动画模式 Animation主要有两种

Android 中各种权限深入体验及详解

Android 中各种权限深入体验及详解 分类: Android2012-07-15 19:27 2822人阅读 评论(0) 收藏 举报 androidpermissionsinstallersystemserviceinteger 一. 权限(permission) 权限用来描述是否拥有做某件事的权力.Android系统中权限分为普通级别(Normal),危险级别(dangerous),签名级别(signature)和系统/签名级别(signature or system).系统中所有预定义的

Android中自定义View、ViewGroup理论基础详解

Android自身提供了许多widgets,但是有时候这些widgets并不能满足我们的需求,这时我们就需要自定义View,本文会详细说明自定义View的各种理论基础,只有理解了这些知识,我们才能更好地实现各种功能的控件. 我觉得自定义View中最重要的部分就是绘图和交互,自定义的绘图使得你的View与众不同,交互使用户可以与你的View进行交互,而绘图的前提是View的量算与布局,交互的基础是触摸事件,所以量算.布局.绘图.触摸事件这些是自定义View的核心. 除此之外,一个设计友好的自定义V

android中设置Animation 动画效果

在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation 画面转换动画,接下来eoe进行讲解. tweened animation 渐变动画有以下两种类型: 1.alpha   渐变透明度动画效果 2.scale   渐变尺寸伸缩动画效果 frame by frame animation 画面转换动画有以下两种类型: 1.translate  画面转换位置

Android中Acitvity跳转动画效果实现

在Activity中为我们提供了overridePendingTransition方法,该方法两个参数参数类型均为资源文件对应id,我们要用到的是anim下的动画效果文件.具体写法如 public class Main2Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC

Android应用开发之所有动画使用详解

题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把剩余的补上的.消失的这段时间真的好忙,节奏一下子有些适应不过来,早晨七点四十就得醒来,晚上九点四十才准备下班,好像最近都与世隔离了一样:然而自己每天还要熟悉一大套自己不熟悉.各种协议差异的代码.其实换个角度考虑还是蛮好的,忙,但很充实,有新的挑战与收获. [工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.点我开始Android技术交流] 1 背景 不能只分析源码呀,分析的同时也

Android中的服务(service)详解(三)--远程服务(remote)

1. 引言: (1)AIDL的作用 在Android平台,每个应用程序都是一个单独的JVM,都运行在自己的进程空间里, 通常,一个进程不允许访问另一个进程的内存空间(一个应用不能访问另一个应用).当用户(程序开发人员)想在一个App中访问另一个App的进程空间的时候,就需要进程间通信.在Android中,远程服务为我们提供了实现进程间通信的方式,其中,AIDL是应用程序开发人员常的一种方式. AIDL (Android Interface Definition Language) 是一种IDL

Android中Serializable和Parcelable序列化对象详解

学习内容: 1.序列化的目的 2.Android中序列化的两种方式 3.Parcelable与Serializable的性能比较 4.Android中如何使用Parcelable进行序列化操作 5.Parcelable的工作原理 6.相关实例 1.序列化的目的 (1).永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中 (2).通过序列化操作将对象数据在网络上进行传输(由于网络传输是以字节流的方式对数据进行传输的.因此序列化的目的是将对象数据转换成字节流的形式) (3).将对象数据在进程