1

这段代码有问题吗?

它在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 !

4

3 回答 3

2

您需要导入 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); 
于 2014-02-26T12:55:34.120 回答
2

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

或者你可以简单地使用Animation

更新:

我错过了你说你已经使用 Nineoldandroids 的部分。你检查你的进口也许你进口了原生

视图属性动画

它也可能导致问题。如果 api 级别大于 11,则 libray 使用本机 API,您不需要导入本机 API。

于 2013-08-02T11:05:01.303 回答
0

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

但是,我在 API8 中运行并发生了强制关闭!

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

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

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

修改一些代码

ObjectAnimator.Class

按照上面链接中的答案!

于 2014-05-09T00:40:27.087 回答