NineOldAndroids是一个让你可以在各个平台甚至1.0版本上都能使用 Honeycomb (Android 3.0) animation API的库,在Honeycomb之前Animation非常局限,所以3.x写出了新的api,现在你只要imports一下,你就能使用同样的api来创建各种动画效果,在各个早于Honeycomb平台上支持旋转,translation,alpha,缩放等效果。
api 使用起来和 Honeycomb API 一样,你只要把imports 改为 com.nineoldandroids.animation.*。
例如,你要创建一个垂直下落的视图
1
|
ObjectAnimator.ofFloat(myObject,
"translationY"
, -myObject.getHeight()).start();
|
如果你很熟悉动画api,你会发现这正是你使用原生api时候做的。唯一区别就是我们imports了com.nineoldandroids.animation. 而不是android.animation.ObjectAnimator
下面是一个例子,创建了背景从红变为绿又变为黑,
1
2
3
4
5
6
|
ValueAnimator colorAnim = ObjectAnimator.ofInt(
this
,
"backgroundColor"
,
/*Red*/
0xFFFF8080
,
/*Blue*/
0xFF8080FF
);
colorAnim.setDuration(
3000
);
colorAnim.setEvaluator(
new
ArgbEvaluator());
colorAnim.setRepeatCount(ValueAnimator.INFINITE);
colorAnim.setRepeatMode(ValueAnimator.REVERSE);
colorAnim.start();
|
官方网站:http://nineoldandroids.com
GitHub:https://github.com/JakeWharton/NineOldAndroids