Android动画分析之3D翻转效果(2)

其中包括了旋转的开始和结束角度,中心点、是否扭曲、和一个Camera,这里我们主要分析applyTransformation函数,其中第一个参数就是通过getTransformation函数传递的差指点,然后我们根据这个差值通过线性差值算法计算出一个中间角度degrees,Camera类是用来实现绕Y轴旋转后透视投影的,因此我们首先通过t.getMatrix()取得当前的矩阵,然后通过camera.translate来对矩阵进行平移变换操作,camera.rotateY进行旋转。这样我们就可以很轻松的实现3D旋转效果了。

下面是布局文件main.xml:

<LinearLayout xmlns:Android=""
    xmlns:tools=""
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/main_screen_bg"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    tools:context=".MainActivity" >

<Button
        android:id="@+id/next_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dip"
        android:drawableTop="@drawable/qiangpiao_dropdown"
        android:text="下一个" />

<TextView
        android:id="@+id/tv"
        android:layout_width="300dip"
        android:layout_height="300dip"
        android:layout_gravity="center"
        android:background="@drawable/call_show_frame_safe"
        android:gravity="center"
        android:textColor="#ffffff"
        android:textSize="15sp" />

</LinearLayout>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/da8b6adfef568172137f710a99f337a8.html