android.support.v4.Fragment上的3D翻转动画
我目前正在阅读本教程: 在上翻转片段的动画。不幸的是,对象动画师仅适用于android.app.Fragment,而不适用于支持片段。 我尝试使用缩放和旋转动画重建.xml动画。 但是现在动画没有执行,在我在animations.xml文件中设置的时间过后,另一个片段出现,而不是翻转android.support.v4.Fragment上的3D翻转动画,android,android-fragments,android-animation,page-flipping,Android,Android Fragments,Android Animation,Page Flipping,我目前正在阅读本教程: 在上翻转片段的动画。不幸的是,对象动画师仅适用于android.app.Fragment,而不适用于支持片段。 我尝试使用缩放和旋转动画重建.xml动画。 但是现在动画没有执行,在我在animations.xml文件中设置的时间过后,另一个片段出现,而不是翻转 我只是在实现.xml动画时犯了一个错误吗 或者,如果没有对象animator,是否不可能执行3D翻转动画 或者不可能在支持的情况下制作3D翻转动画 碎片 以下是我的.xml动画: 在.xml中向左翻转 <
- 我只是在实现.xml动画时犯了一个错误吗李>
- 或者,如果没有对象animator,是否不可能执行3D翻转动画
- 或者不可能在支持的情况下制作3D翻转动画 碎片
<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="800"/>
<!-- Half-way through the rotation (see startOffset), set the alpha to 1. -->
<alpha
android:valueFrom="0.0"
android:valueTo="1.0"
android:startOffset="400"
android:duration="1" />
</set>
你可以用。它将蜂巢(Android3.0)动画API一直向后移植到Android1.0。您将获得ObjectAnimator、ValueAnimator和所有其他优秀的功能。谢谢大家的帮助 我设法解决了我的问题。该解决方案与NineodelDroids和另一个支持NineodelDroids-v4的库有关。 我所做的:
- 我下载了这个库:(这是一个支持NineodelDroids的库)
- 将其导入我的工作区
- 下载NineodelDroids库并将其导入我的工作区
- 已将NineodelDroids库导入support-v4库
- 已将support-v4-NineodelDroids库导入到我的项目中
- 电影里有没有电影动画
未知动画名称:object Animator
。如果smb在导入“support-v4 support for NineodelDroids”等方面存在问题,请确保您的ADT是最新的。如果这个support-v4是根据API 19构建的,那么它必须在您的ADT中可用。我有问题,因为我的ADT只有API 18。解决方案是将ADT更新到最新版本。如何使用android Studioid实现对NineoladDroids的support-v4支持您制作了3d翻转效果?你能告诉我你是如何用object animator替换上面的代码的吗?当你的片段类扩展了对v4片段的支持时,会出现一个转换错误
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Rotate. -->
<rotate
android:duration="800"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:propertyName="rotationY"
android:valueFrom="0"
android:valueTo="180" />
<!-- Half-way through the rotation (see startOffset), set the alpha to 0. -->
<alpha
android:duration="1"
android:propertyName="alpha"
android:startOffset="400"
android:valueFrom="1.0"
android:valueTo="0.0" />
</set>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Before rotating, immediately set the alpha to 0. -->
<alpha
android:duration="0"
android:propertyName="alpha"
android:valueFrom="1.0"
android:valueTo="0.0" />
<!-- Rotate. -->
<rotate
android:duration="800"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:propertyName="rotationY"
android:valueFrom="180"
android:valueTo="0" />
<!-- Half-way through the rotation (see startOffset), set the alpha to 1. -->
<alpha
android:duration="1"
android:propertyName="alpha"
android:startOffset="400"
android:valueFrom="0.0"
android:valueTo="1.0" />
</set>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Rotate. -->
<rotate
android:duration="800"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:propertyName="rotationY"
android:valueFrom="0"
android:valueTo="-180" />
<!-- Half-way through the rotation (see startOffset), set the alpha to 0. -->
<alpha
android:duration="1"
android:propertyName="alpha"
android:startOffset="400"
android:valueFrom="1.0"
android:valueTo="0.0" />
</set>
FragmentTransaction trans = getActivity().getSupportFragmentManager().beginTransaction();
trans.setCustomAnimations(R.anim.flip_right_in, R.anim.flip_right_out,
R.anim.flip_left_in, R.anim.flip_left_out);
trans.addToBackStack(null);
trans.replace(R.id.content_frame, new MyFragment()).commit();
private void flipCard() {
if (mShowingBack) {
mShowingBack = false;
FragmentTransaction trans = getActivity().getFragmentManager().beginTransaction();
trans.setCustomAnimations(R.animator.card_flip_right_in,
R.animator.card_flip_right_out,
R.animator.card_flip_left_in,
R.animator.card_flip_left_out)
.replace(R.id.memberCardContainer, new CardFrontFragment())
.commit();
return;
}
// Flip to the back.
mShowingBack = true;
FragmentTransaction trans = getActivity().getFragmentManager().beginTransaction();
trans.setCustomAnimations(R.animator.card_flip_right_in,
R.animator.card_flip_right_out,
R.animator.card_flip_left_in,
R.animator.card_flip_left_out)
.replace(R.id.memberCardContainer, new CardBackFragment())
.commit();
}