nineoldAndroid
来源:互联网 发布:linux安装软件 编辑:程序博客网 时间:2024/06/07 04:17
Introduction
Android library for using the Honeycomb (Android 3.0) animation API on all versions of the platform back to 1.0!
Animation prior to Honeycomb was very limited in what it could accomplish so in Android 3.x a new API was written. With only a change in imports, we are able to use a large subset of the new-style animation with exactly the same API.
This library also includes support for animating rotation, translation, alpha, and scale on platforms prior to Honeycomb!
Skip
Download
Version 2.4.0 — 2012-06-24
Download ZIP Download TGZ
Change Log
- Add
ViewHelper
class which will delegate newView
property calls to their native counterparts when available. - Fix: Do not invalidate parent if view is not attached to anything.
- Fix: Respect pivot for both scaling in addition to rotating.
Looking for an older version? Check here.
Try out the sample application:
Usage
The API is exactly the same as the Honeycomb API, just change your imports to use com.nineoldandroids.animation.*
.
For example, to animate a View
vertically off of the screen you can use ObjectAnimator
ObjectAnimator.ofFloat(myObject, "translationY", -myObject.getHeight()).start();
If you're familiar with the animation API already you should notice that this is precisely what would be done with the native api. The only difference, however, is that we've importedcom.nineoldandroids.animation.ObjectAnimator
at the top of the file instead of android.animation.ObjectAnimator
.
Here's another example of a View
animating its own background to go from red to blue and then back again forever. You can see this animation in the 'Bouncing Balls' demo in the samples application.
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();
This library includes compatibility implementations of almost all of the new properties which were introduced with Android 3.0 allowing you to perform very complex animations that work on every API level.
AnimatorSet set = new AnimatorSet();set.playTogether( ObjectAnimator.ofFloat(myView, "rotationX", 0, 360), ObjectAnimator.ofFloat(myView, "rotationY", 0, 180), ObjectAnimator.ofFloat(myView, "rotation", 0, -90), ObjectAnimator.ofFloat(myView, "translationX", 0, 90), ObjectAnimator.ofFloat(myView, "translationY", 0, 90), ObjectAnimator.ofFloat(myView, "scaleX", 1, 1.5f), ObjectAnimator.ofFloat(myView, "scaleY", 1, 0.5f), ObjectAnimator.ofFloat(myView, "alpha", 1, 0.25f, 1));set.setDuration(5 * 1000).start();
You can also use a compatibility version of ViewPropertyAnimator
which allows animating views in a much more declarative manner
Button myButton = (Button)findViewById(R.id.myButton);//Note: in order to use the ViewPropertyAnimator like this add the following import:// import static com.nineoldandroids.view.ViewPropertyAnimator.animate;animate(myButton).setDuration(2000).rotationYBy(720).x(100).y(100);
There are some caveats to using this API on versions of Android prior to Honeycomb:
- The native
Property
class and its animation was introduced in Android 3.2 and is thus not included in this library. There is, however, acom.nineoldandroids.util.Property
class which allows you to create custom properties on your own views for easier animation. LayoutTransition
is not possible to implement prior to Android 3.0 and is not included.
For more examples please take a look at the source code to the samples.
- nineoldAndroid
- 高仿UC浏览器指导欢迎页面(NineOldAndroid实现)
- 第三方开源库:nineoldandroid:ValueAnimator 动态设置textview的高
- 手机助手(五):模块化开发 + nineOldAndroid.jar
- 使用nineoldandroid.jar包 简单实现全屏滑动
- 机器学习入门
- Uninstall Trillian with WindowsUninstaller.Org Removal Tips
- 搜狗曝重大安全漏洞 大量用户隐私被泄露
- cef wpf 遇到的问题
- log10()的运用
- nineoldAndroid
- 浏览器模式的问题
- Android是什么 之三手机之硬件形态
- Readonly与Disable的区别
- Android利用SparseArray替换使用HashMap<Integer,E>
- CSS中的position:relative;的作用
- CentOS源码安装 apache2.2.5
- android 图片点击变暗的另一种办法
- 访问网站提示“应用程序脱机”