如下是xml文件:
<FrameLayout xmlns:Android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@android:id/list"
android:persistentDrawingCache="animation|scrolling"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layoutAnimation="@anim/layout_bottom_to_top_slide" />
<ImageView
android:id="@+id/picture"
android:scaleType="fitCenter"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone" />
</FrameLayout>
简单分析:程序完成初始化,初始化listview 和imageview,刚开始imageview不可见,所以如果点击listitem,则 调用 applyRotation(position, 0, 90); 具体作用:Setup a new 3D rotation on the container view,然后会有一个监听动画的监听器,如下: rotation.setAnimationListener(new DisplayNextView(position));,等动画上半部分完成,会进入下半部分:mContainer.post(new SwapViews(mPosition)); 如此完成动画过程。