1 / 4
文档名称:

Android 滑动效果进阶篇(五)—— 3D旋转.pdf

格式:pdf   页数:4
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Android 滑动效果进阶篇(五)—— 3D旋转.pdf

上传人:翩仙妙玉 2012/9/15 文件大小:0 KB

下载得到文件列表

Android 滑动效果进阶篇(五)—— 3D旋转.pdf

文档介绍

文档介绍:IT-Homer 专栏
成功是优点的发挥,失败是缺点的积累! 不为失败找理由,只为成功找
方法……
Android 滑动效果进阶篇(五)—— 3D旋转
分类: Android 2012-04-20 22:58 1345人阅读评论(4) 收藏举报
前面介绍了利用Android自带的控件,进行滑动翻页制作效果,现在我们通过代码实现一些滑动翻页的动画效果。
Animation实现动画有两个方式:帧动画(frame-by-frame animation)和补间动画(tweened animation)
本示例通过继承Animation自定义Rotate3D,实现3D翻页效果。效果图如下:
1、Rotate3D(Animation)
首先,自定义Animation的3D动画类Rotate3D
public class Rotate3D extends Animation {
private float fromDegree; // 旋转起始角度
private float toDegree; // 旋转终止角度
private float mCenterX; // 旋转中心x
private float mCenterY; // 旋转中心y
private Camera mCamera;
public Rotate3D(float fromDegree, float toDegree, float centerX, float centerY) {
= fromDegree;
= toDegree;
= centerX;
= centerY;
}
***@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
(width, height, parentWidth, parentHeight);
mCamera = new Camera();
}
***@Override
1
protected void applyTransformation(float interpolatedTime, Transformation t) {
final float FromDegree = fromDegree;
float degrees = FromDegree + (toDegree - fromDegree) * interpolatedTime; // 旋转角度(angle)
final float centerX = mCenterX;
final float centerY = mCenterY;
final Matrix matrix = ();
if (degrees <= -) {
degrees = -;
();
(degrees); // 旋转
mCamera.