public static ViewPropertyAnimator animate(View view){
  ViewPropertyAnimator animator=ANIMATORS.get(view);
  if (animator == null) {
    final int version=Integer.valueOf(Build.VERSION.SDK);
    if (version >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
      animator=new ViewPropertyAnimatorICS(view);
    }
 else     if (version >= Build.VERSION_CODES.HONEYCOMB) {
      animator=new ViewPropertyAnimatorHC(view);
    }
 else {
      animator=new ViewPropertyAnimatorPreHC(view);
    }
    ANIMATORS.put(view,animator);
  }
  return animator;
}

public static ViewPropertyAnimator animate ( View view ) { ViewPropertyAnimator animator = ANIMATORS . get ( view ) ; if ( animator == null ) { final int version = Integer . valueOf ( Build . VERSION . SDK ) ; if ( version >= Build . VERSION_CODES . ICE_CREAM_SANDWICH ) { animator = new ViewPropertyAnimatorICS ( view ) ; } else if ( version >= Build . VERSION_CODES . HONEYCOMB ) { animator = new ViewPropertyAnimatorHC ( view ) ; } else { animator = new ViewPropertyAnimatorPreHC ( view ) ; } ANIMATORS . put ( view , animator ) ; } return animator ; }
this method returns a viewpropertyanimator object , which can be used to animate specific properties on this view .
