我试图找出如何在2个片段之间创建翻转动画.
我试过CardFlip培训作为指导,但似乎无法实现.
我正在使用Android支持包,并将其设置为补间动画,但不成功.
如何在片段之间实现翻转动画?
这是我从指南创建的第一个2 xml,也许你可以看到是否做错了.
screen_flip_left_in.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Before rotating,immediately set the alpha to 0. --> <alpha android:valueFrom="1.0" android:valueTo="0.0" android:propertyName="alpha" android:duration="0" /> <!-- Rotate. --> <rotate android:valueFrom="-180" android:valueTo="0" android:propertyName="rotationY" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:duration="@integer/card_flip_time_full"/> <!-- Half-way through the rotation (see startOffset),set the alpha to 1. --> <alpha android:valueFrom="0.0" android:valueTo="1.0" android:propertyName="alpha" android:startOffset="@integer/card_flip_time_half" android:duration="1" /> </set>
screen_flip_left_out.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Rotate. --> <rotate android:valueFrom="0" android:valueTo="180" android:propertyName="rotationY" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:duration="@integer/card_flip_time_full" /> <!-- Half-way through the rotation (see startOffset),set the alpha to 0. --> <alpha android:valueFrom="1.0" android:valueTo="0.0" android:propertyName="alpha" android:startOffset="@integer/card_flip_time_half" android:duration="1" /> </set>
解决方法
android:propertyName仅用于ObjectAnimator(Honeycomb)动画,不能查看Gingerbread的动画.卡片翻转动画只能使用蜂巢动画师api的.我创建了支持库的一个叉子,以允许使用
NineOldAndroids的Animator apis进行片段转换.使用我的
github project的动画转移分支.一旦你有修改后的支持库,查看
http://developer.android.com/training/animation/cardflip.html来制作动画Xml.