APIDemo学习笔记——Android上几种简单的Animation使用方法(三)——3D Transition
2011-01-30 14:43
911 查看
大前天和昨天都没有写,因为看多了,觉得有很多点是重复的,有些一个Activity其实最主要的就是理解了一个API函数的功能就足够了,所以没什么写的激情,但还是坚持一下,抽点来写吧。
上次写了Animation,只讲了后面三个,第一个3D Transition没讲。
3D Transition的主要定义在animation包内,里面只有两个Java文件。
3D翻转其实并不是很复杂,最主要的是一个函数rotation.setAnimationListener(new DisplayNextView(position));在Transition3d的第99行。这个函数的主要作用是通过一个Listener,设置动画开始前、结束后,和重复动作时要触发的事件。
3D翻转效果主要由两个rotato动作构成,第二个动作在第一个动作完成后,由Listener来启动。这两个Animation连起来,看的时候就像3D旋转的效果了。
同时,在Rotate3dAnimation.java中,重新定义了一个Animation,覆写了initialize和applyTransformation方法。initialize是初始化动作,applyTransformation就定义动画效果的,这个是最主要的部分,传进来的是当前时间为总时间的百分比和动作,这里利用了转换矩阵。发现我的线性代数都忘了T_T,以后要重新看一遍。主要这个Camara不太理解,注释里也没写有这个类有什么用,从代码里猜测这个是保存当前的界面。
这样说来是简单,但做起来难啊。。
上次写了Animation,只讲了后面三个,第一个3D Transition没讲。
3D Transition的主要定义在animation包内,里面只有两个Java文件。
3D翻转其实并不是很复杂,最主要的是一个函数rotation.setAnimationListener(new DisplayNextView(position));在Transition3d的第99行。这个函数的主要作用是通过一个Listener,设置动画开始前、结束后,和重复动作时要触发的事件。
3D翻转效果主要由两个rotato动作构成,第二个动作在第一个动作完成后,由Listener来启动。这两个Animation连起来,看的时候就像3D旋转的效果了。
同时,在Rotate3dAnimation.java中,重新定义了一个Animation,覆写了initialize和applyTransformation方法。initialize是初始化动作,applyTransformation就定义动画效果的,这个是最主要的部分,传进来的是当前时间为总时间的百分比和动作,这里利用了转换矩阵。发现我的线性代数都忘了T_T,以后要重新看一遍。主要这个Camara不太理解,注释里也没写有这个类有什么用,从代码里猜测这个是保存当前的界面。
这样说来是简单,但做起来难啊。。
相关文章推荐
- APIDemo学习笔记——Android上几种简单的Animation使用方法(一)
- APIDemo学习笔记——Android上几种简单的Animation使用方法(二)
- APIDemo学习笔记——Android上几种简单的Animation使用方法
- APIDemo学习笔记——Android上几种简单的Animation使用方法(二)
- 【Android】学习笔记(11)——Animation使用方法(上)
- APIDemo学习笔记——Android上几种简单的Animation使用方法(一)
- cocos2d-x的Sptrite Action SpriteFrame Animation texture使用的简单方法---学习笔记
- 【Android】学习笔记(12)——Animation使用方法(下)
- 【Android】学习笔记(11)——Animation使用方法(上)
- android中的简单animation(四)3D transition
- Android(java)学习笔记107-1:通过反射获得带参构造方法并且使用
- 【Android】学习笔记(10)——adb使用方法
- PHP 学习笔记 - - - 简单方法的使用 (数组)
- Android(java)学习笔记109:通过反射获取成员变量和成员方法并且使用
- Android Uri的几种使用方法,分享共同学习
- android菜鸟学习笔记21----ContentProvider(一)ContentProvider的简单使用
- 【知了堂学习笔记】Java中static关键字的一些简单使用方法
- Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)
- android菜鸟学习笔记22----ContentProvider(二)ContentObserver的简单使用
- android菜鸟学习笔记31----Android使用百度地图API(二)获取地理位置及地图控制器的简单使用