Android Animation on API 8

5k Views Asked by At

problem in this code ?

its work on android 4 successfully ! but don't work on 2.2 !

i use nineoldandroids library for 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();


     }

sorry for bad english !

tnx to all -------------------------------EDIT-----------------------------

code executed right on android 2.2 but not like android 4 !

3

There are 3 best solutions below

0
On

ViewPropertyAnimator is for api level >11.However; you can use nineoldandroids library project which is a proxy for this animations (and quite good).

Or you can simply use Animation class

UPDATE:

i missed the part you said u already use nineoldandroids. did you check your imports maybe you imported the native

ViewPropertyAnimation

it may cause problem too. That libray uses the native api if api level is >11 you dont need to import native one.

1
On

You need to import ViewHelper class of nineoldandroid like

import com.nineoldandroids.view.ViewHelper;

and then use following code

 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);

instead of

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

Since Nineoldandroids allow api 1> use animation methods.

However, I run in API8 and Force Close is occured!

HERE is the solution, it's because of Nineoldandroids

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

Use Library of NineOldndroids Folder as Dependency instead of .jar,

Modification some code in

ObjectAnimator.Class

by following the answer in the link above!