APIDemo学习笔记——Android上几种简单的Animation使用方法(二)

原创 2011年01月24日 22:28:00

现在开始看第三个Push,从View->animation->Push可以启动这个Activity

Push这个Demo主要是展示了View之间的切换效果。

Push对应的Java文件为view包内的Animation2.java,对应的XML布局文件为layout/animation_2.xml。

先看布局文件,这个页面内最主要用到的是一个ViewFlipper。使用ViewFlipper可以实现多个View之间的动态切换,并且可以自定义切换动画,本例中所展示的就是如何定义切换动画。

下面只挑重点语句来讲了。

 

让ViewFlipper开始自动切换。

 

当点击时Spinner内的选项时,更改进入和退出的动画效果。

这里的Animation都是自定义的动画效果,可以在res/anim内找到对应的XML文件,下面用push_up_in.xml来说明定义的大概用法。

因为这个动画是由几个动画复合组成的,所以外围就用一个set标签括起来,组成一个AnimationSet。

translate标签内主要定义位置的变化情况,fromYDelta="100%p",是指从ViewFlipper的正下方刚好一个View的高度的距离的地方开始出现,100%p是一个相对值,大于0为下方,小于0为上方。toYDelta="0",是指刚好达到布局文件的原始位置停止。android:duration="300",是指整个动作的时间用时为300毫秒,系统会根据这个时间自动调整速度。

alpha标签内定义的是透明度,0为全透明,1.0为不透明,过程为300毫秒,让View为逐渐出现的过程

 

push_up_out.xml,和push_left的两个标签都几乎一样的,应该很好理解。

hyperspace_in.xml更简单,只有一个alpha,所以外层没有set标签。startOffset是设置延迟。

 

hyperspace_out.xml相对复杂一点,set里面还包括有set,但仍然是由几个小动作一起组成的,可以一点点拆成来理解。

最外层是一个set,里面嵌套一个scale和一个set。

第一个scale标签可以理解为,以当前View的正中间位置为轴点,在700毫秒时间内,以加速放大的方式,将View的横长变为1.4倍,高度变为0.6倍。至于fillAfter这个标签我一直搞不懂这个功能,照SDK里的解释,是在连续动画中让View保持在动画的最后一帧,但照我的实验似乎没有什么效果,这个求高手指教。(查网上一些资料是说必须在代码里设置,这个是不是属于Android的Bug?)一个animationSet可以做为另一个animationSet的子集,这个很容易理解。rotate标签内的照字面意思应该很容易理解了,不再赘述了。

 

 

很多动画其实都是通过alpha, scale, rotate, translate这几个基本动作组成的。这些都属于Tween Animation。另外还有一种Frame Animation,类似放电影的效果,一帧帧播放动画,以后再说。

所有在XML内的设置的属性都可以在JAVA里找到对应的API函数,在Android SDK文档里可以查得到。

其实我觉得我这样写得都有点啰嗦了,Android的API的名字定义都很规范,从名字都已经可以判断出这个函数的功能了,下次不再写这么详细了。

 

 

android2.3使用AnimationUtils.loadAnimation()加载动画出现异常

问题描述:     用AnimationUtils.loadAnimation()方法加载动画,在android5.0上正常,在android2.3上异常闪退。     动画xml文件:    ...
  • zwq1105
  • zwq1105
  • 2017年02月05日 10:49
  • 695

loadinganimation

  • 2015年10月10日 16:49
  • 7.45MB
  • 下载

Android动画Animation的两种加载执行方式

本文以简单的AlphaAnimation(“淡入淡出(透明度改变)”动画)为例,简单的说明Android动画Animation的两种加载执行方法: (1) 直接写Java代码,制作Android动画...
  • zhangphil
  • zhangphil
  • 2015年08月10日 10:32
  • 6836

Android中Animation 详细解读

Animation从总体来说可以分为两类: 1.Tweened Animations:该类提供了旋转,移动,伸展,淡入淡出等效果 Tweened Animations也有四种类型: 1.    ...
  • yhqbsand
  • yhqbsand
  • 2012年12月31日 13:17
  • 15686

AnimationUtils

AnimationUtils(示例,出错代码) android.view.animation 类 AnimationUtils java.lang.Object ...
  • u013252110
  • u013252110
  • 2016年01月25日 13:24
  • 797

自定义Activity的跳转动画

本来感觉是一个很小的需求, 后来发现老是 出问题, 使用Theme在 4.0上 操作不是很好用. 后来查阅资料, 需要在finish 后面 和 startActivity 后面添加  ...
  • sfshine
  • sfshine
  • 2014年06月27日 11:04
  • 1131

android动画切换效果

  • 2013年09月29日 20:19
  • 10KB
  • 下载

android设置动画方式汇总

1. ViewFlipper 2. Activity 3. Fragment                 android:valueFrom="400dp" android:va...
  • wwx051312
  • wwx051312
  • 2014年11月13日 16:42
  • 527

Android切换Activity时的淡入动画和缩小动画

Android切换Activity时的淡入动画和缩小动画实现在Activity切换过程中的淡入和缩小的动画效果。先创建一个主Activty布局。主Activity有两个按钮一个是实现切换的淡入效果,一...
  • xiaochun91103
  • xiaochun91103
  • 2011年02月22日 09:18
  • 17025

android-R.anim

R.anim public static final class R.anim  extends Object  java.lang.Object    ↳ ...
  • ZHOU452840622
  • ZHOU452840622
  • 2016年06月20日 17:04
  • 888
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:APIDemo学习笔记——Android上几种简单的Animation使用方法(二)
举报原因:
原因补充:

(最多只允许输入30个字)