这个代码中有问题吗?
它在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!
或者您可以简单地使用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
按照上面链接中的答案!