Android API演示中有很多非常不错的例子,这些例子的代码都写的很出色,如果大家把API演示中的每个例子研究透了,那么恭喜你已经成为一个真正的Android高手了。这也算是给一些比较迷茫的Android开发者一个指出了一个提升自我能力的方向吧.API演示中的例子众多,今天我们就来模仿其中一个3 d变换的特效,来实现一种别样的图片浏览器。
既然是做中轴旋转的特效,那么肯定就要用3 d变到换的功能。在Android中如果想要实现3 d效果一般有两种选择,一是使用opengl ES,二是使用Camera.Open GL ES使用起来太过复杂,一般是用于比较高级的3 d特效或游戏,像比较简单的一些3 d效果,使用相机就足够了。
相机中提供了三种旋转方法,分别是rotateX (), rotateY()和rotateZ,调用这三个方法,并传入相应的角度,就可以让视图围绕这三个轴进行旋转,而今天我们要做的中轴旋转效果其实就是让视图围绕Y轴进行旋转。使用相机让视图进行旋转的示意图,如下所示:
那我们就开始动手吧,首先创建一个Android项目,起名叫做RotatePicBrowserDemo,然后我们准备了几张图片,用于稍后在图片浏览器中进行浏览。
而API演示中已经给我们提供了一个非常好用的3 d旋转动画的工具类Rotate3dAnimation,这个工具类就是使用相机来实现的,我们先将这个这个类复制到项目中来,代码如下所示:
/* *
*一个动画旋转视图>
公共类{照片/* *
*图片名称
*/私人字符串名称;/* *
*图片对象的资源
*/私人int资源;
公共照片(字符串名称,int资源){
this.name=名称;
这一点。资源=资源;
}
公共字符串getName () {
返回名称;
}
公共int getResource () {
返回的资源;
}
}
>之前
这个类中只有两个字段,名字用于显示图片的名称,资源用于表示图片对应的资源。
然后创建图片列表的适配器PictureAdapter,用于在视图上可以显示一组图片的名称,代码如下所示:
公开课PictureAdapter延伸ArrayAdapter