Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android.support.v4.Fragment上的3D翻转动画_Android_Android Fragments_Android Animation_Page Flipping - Fatal编程技术网

android.support.v4.Fragment上的3D翻转动画

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中向左翻转 <

我目前正在阅读本教程:

上翻转片段的动画。不幸的是,对象动画师仅适用于android.app.Fragment,而不适用于支持片段。

我尝试使用缩放和旋转动画重建.xml动画。 但是现在动画没有执行,在我在animations.xml文件中设置的时间过后,另一个片段出现,而不是翻转

  • 我只是在实现.xml动画时犯了一个错误吗
  • 或者,如果没有对象animator,是否不可能执行3D翻转动画
  • 或者不可能在支持的情况下制作3D翻转动画 碎片
以下是我的.xml动画: 在.xml中向左翻转

<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库导入到我的项目中
  • 电影里有没有电影动画

如果您不支持下面的API,那么3D翻转动画将如何工作?我能在我的支持片段上使用objectanimator吗?是的。这就是你要做的。我导入了库,用object animator.xml文件替换了我的.xml动画,但是我得到了一个错误:未知动画名称:object animator你确定导入并正确使用了它吗?在这里可以看到一个示例xml文件:@AnupCowkur您确定可以只使用nineodeldroid吗?我还收到错误
未知动画名称: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();
}