我试图找出如何在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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
android:propertyName 仅适用于 ObjectAnimator (Honeycomb+) 动画,不适用于 Gingerbread 中的视图动画。卡片翻转动画只能使用 Honeycomb animator api 实现。我创建了支持库的一个分支,以允许使用NineOldAndroids中的 Animator api进行片段过渡。使用我的github 项目的 animator-transition 分支。修改后的支持库后,请查看http://developer.android.com/training/animation/cardflip.html以制作动画器 xml。
| 归档时间: |
|
| 查看次数: |
5793 次 |
| 最近记录: |