API上的Android动画8



这个代码中有问题吗?

它在android 4上的工作成功!但不要在2.2上工作!

我使用nineoldandroids库用于android API 8

 if(Build.VERSION.SDK_INT > 13) {
      v.setTranslationX(0.0F);
      v.setTranslationY(height);
      v.setRotationX(45.0F);
      v.setScaleX(0.7F);
      v.setScaleY(0.55F);
      ViewPropertyAnimator localViewPropertyAnimator =
              v.animate().rotationX(0.0F).rotationY(0.0F).translationX(0).translationY(0).setDuration(animDuration).scaleX(
                  1.0F).scaleY(1.0F).setInterpolator(interpolator);
          localViewPropertyAnimator.setStartDelay(0).start();
     } else {
        com.nineoldandroids.view.ViewPropertyAnimator.animate(v).translationX(0.0F).translationY(height)
        .rotationX(45.0F).scaleX(0.7F).scaleY(0.55F);
        com.nineoldandroids.view.ViewPropertyAnimator.animate(v).setStartDelay(0).start();

        com.nineoldandroids.view.ViewPropertyAnimator.animate(v).rotationX(0.0F).rotationY(0.0F).translationX(0).translationY(0).setDuration(animDuration).scaleX(
                    1.0F).scaleY(1.0F).setInterpolator(interpolator);
        com.nineoldandroids.view.ViewPropertyAnimator.animate(v).setStartDelay(animDuration).start();

     }

抱歉英语不好!

tnx到所有-------------------------------编辑-------------------------

代码在android 2.2上执行正确,但不像android 4!

ViewPropertyAnimator适用于api级别>11。但是;你可以使用nineoldandroids库项目,它是这个动画的代理(非常好)。

或者您可以简单地使用Animation

更新:

我错过了你说你已经用了nineoldandroids的部分。你检查过你的进口吗?也许你进口了本地

ViewPropertyAnimation

这也可能会造成问题。如果api级别>11,则该库使用本机api,而不需要导入本机api。

您需要导入类似的nineoldandroid的ViewHelper类

import com.nineoldandroids.view.ViewHelper;

然后使用以下代码

 ViewHelper.setTranslationX( Your View, 0.0F);
 ViewHelper.setTranslationY( Your View, height);
 ViewHelper.setRotationX(Your View,45.0F);
 ViewHelper.setScaleX(Your View,0.7F);
 ViewHelper.setScaleY(Your View,0.55F);

而不是

  v.setTranslationX(0.0F);
  v.setTranslationY(height);
  v.setRotationX(45.0F);
  v.setScaleX(0.7F);
  v.setScaleY(0.55F); 

由于Nineoldandroids允许api 1>使用动画方法。

然而,我在API8中运行,并且发生了强制关闭!

这是解决方案,这是因为Nineoldoids

[http://answer.techwikihow.com/962376/nineoldandroids-animation-working-api10.html][1]

使用NineOlddroids文件夹的库作为依赖项,而不是.jar、

修改中的某些代码

ObjectAnimator.Class

按照上面链接中的答案!

最新更新