首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android 动画片框架详解

2013-04-20 
Android 动画框架详解?图 2:立体翻页效果??其中 FlatWorkspace 的基类是 Workspace,它继承自 ViewGroup,是

Android 动画框架详解
?

图 2:立体翻页效果
Android 动画片框架详解?

?

其中 FlatWorkspace 的基类是 Workspace,它继承自 ViewGroup,是一个容器类,其中包含三个子 View,子 View 是 ImageView。三个 ImageView 就是三个页面。这三个 ImageView 的创建是在 WorkspaceActivity 的 onCreate 函数中调用 Workspace 的 initScreens 函数完成的,代码如下:

清单 2

?

为了让三个页面达到上图的窗口布局,我们对 Workspace 的 onMeasure 和 onLayout 函数进行了重载,重点在 onLayout 代码中。onLayout 函数调用 layoutScreens 函数完成布局,FlatWorkspace 中的 layoutScreens 实现如下:

清单 3

?

下图为屏幕 1 沿 Y 轴旋转 45 读后其他两个屏幕需要沿 Y 轴旋转的角度。


图 5:旋转 45 度后屏幕位置示意图
Android 动画片框架详解

这个变换的部分请看代码 CubeWorkspace 中函数 drawScreen 的代码,如下:

清单 7

 public void scrollTo(int x, int y) {         if (getScrollX() != x || getScrollY() != y) {             int oldX = getScrollX();             int oldY = getScrollY();             super.scrollTo(x, y);             //x is the touch action X direction move distance             currentDegree = x * degreeOffset;                        onScrollChanged(x, y, oldX, oldY);             invalidate();         }     } 

这个立方体特效部分的代码介绍到这里。

热点排行