; import com.nineoldandroids.animation.AnimatorListenerAdapter; import com.nineoldandroids.animation.ValueAnimator ; import com.nineoldandroids.view.ViewHelper; import com.nineoldandroids.view.ViewPropertyAnimator 好了,今天的讲解到这里结束了,有了NineOldAndroids我们可以在2.x的手机上面实现许多复杂的动画效果,文章也介绍了关于开源库NineOldAndroids使用的一些知识,文章有点长,希望读者还是先将文章看下 项目源码,点击下载 ps: 下载源码的时候运行出错,是因为我加入了NineOldAndroids的Jar包,然后又加入了NineOldAndroids工程库,主要是我写DEMO的时候为了方便看源码就导入了 NineOldAndroids工程库,大家删除一个JAR包或者NineOldAndroids工程库 就能解决了
6.NineOldAndroids Android3.0增加了一套属性动画的框架,让开发者能更容易的完成更复杂的动画,但是为了兼容低版本的手机,我们又不能把应用升级到Android3.0,不过幸好有NineOldAndroids ,我们可以在低系统版本的手机上也可以使用属性动画 开源项目地址:https://github.com/JakeWharton/NineOldAndroids 7.Android-PullToRefresh
本文使用属性动画完成,说到属性动画,肯定要提到 JakeWharton大神写的NineOldAndroids动画库,如果你的app需要在android3.0以下使用属性动画,那么这个库就很有作用了,如果只需要在高版本使用 下载nineoldandroids-2.4.0.jar的库,放到android studio 工程目录的libs文件夹中 2. 在build.gradle文件中引入 dependencies { compile files('libs/nineoldandroids-2.4.0.jar') } 3. com.androidanimation.animations.BaseAnimatorListener; import com.androidanimation.utils.ViewUtil; import com.nineoldandroids.animation.Animator ; import com.nineoldandroids.animation.ObjectAnimator; import com.nineoldandroids.view.ViewHelper; /
主要是操作View的translationX和translationY属性, 既可以采用传统的View动画,也可以采用属性动画; 如果采用属性动画的话, 为了能够兼容3.0以下的版本,需要采用开源动画库nineoldandroids (http://nineoldandroids.com/)。 使用属性动画并不会存在上述问题, 但是在Android 3.0以下无法使用属性动画, 需使用动画兼容库nineoldandroids来实现属性动画, 不过, 在Android 3.0以下的手机上通过 nineoldandroids来实现的属性动画 本质上仍然是View动画。
项目地址: https://developer.android.google.cn/index.html 22、NineOldAndroids NineOldAndroids 是一个可以让你在 Android 项目地址: https://github.com/JakeWharton/NineOldAndroids 23、Leakcanary Android 和 Java 的内存泄漏检测库。
(2)属性动画几乎是无所不能,但是它是从API 11才有的,所以存在兼容性问题,可以考虑使用开源动画库nineoldandroids。它的功能和系统原生的android.animations. *中的类的功能完全一致,使用方法也是完全一样,只要我们用nineoldandroids编写动画,那么就能运行在所有的android系统上。
Android-Charts) 21、Android-supprt-library Google支持库 (项目地址:https://developer.android.google.cn/index.html) 22、NineOldAndroids NineOldAndroids 是一个可以让你在 Android 1.0 以上版本使用 Honeycomb 动画 API 的 Android 库。 (项目地址:https://github.com/JakeWharton/NineOldAndroids) 23、Leakcanary Android和Java的内存泄漏检测库。
#以libaray的形式引用了开源项目,如果不想混淆 keep 掉,在引入的module的build.gradle中设置minifyEnabled=false -keep class com.nineoldandroids .** { *; } -keep interface com.nineoldandroids.** { *; } -dontwarn com.nineoldandroids.** # 下拉刷新 -keep
提供的动画帮助类,做一个放大效果,子线程或者hanlder发消息延时两秒,然后对图片再执行放大效果,动画结束后跳转到首页 效果图: [在这里插入图片描述] 添加依赖 implementation 'com.nineoldandroids
国内版https://developer.android.google.cn/index.html NineOldAndroids 动画兼容库,最低支持sdk14 https://github.com/ JakeWharton/NineOldAndroids Leakcanary Android 内存泄漏检测库 https://github.com/square/leakcanary EventBus
这里我们可以看到,ViewPager的动画效果由nineoldandroids这个开源项目实现: github地址: https://github.com/JakeWharton/NineOldAndroids
不过正因为提供了动画效果,所以为了兼容低版本的Android系统,工程中还需引用nineoldandroids的jar包。 即我们的工程要同时加入nineoldandroids-2.4.0.jar和mpandroidchartlibrary-2.2.4.1.jar。
lib.csdn.net/base/javase)\jdk1.8.0_31\bin\java.exe'' finished with non-zero exit value 1 这个是因为依赖包重复了 (像v4和nineoldandroids
Files (x86)\Java\jdk1.8.0_31\bin\java.exe’’ finished with non-zero exit value 1 这个是因为依赖包重复了 (像v4和nineoldandroids
greenrobot、fastJson、pl.droidsonroids.gif、retrofit2、rx、tencent.tls、cn.shuzilm.core、picasso、igexin(推送)nineoldandroids 值得一提的是,通过查看apktool.yml查看: sdkInfo: minSdkVersion: '19' targetSdkVersion: '21' 最低版本为19,但是却存在大量的低版本兼容库如nineoldandroids
Practices for Performance (性能最佳实践) Displaying Bitmaps Efficiently (高性能位图显示) Adding Animations (also see NineOldAndroids library) (动画效果——同时也需要看NineOldAndroids库的介绍) Tools help (开发工具介绍) SDK Samples (SDK示例) StackOverflow 推荐资源 NineOldAndroids,作者是Jake Wharton。这个Android库使用Honeycomb 版本的动画API,对直到1.0版本的Android系统全部适用。
view的translationX和translationY属性,既可以使用传统的view动画,也可以使用属性动画,使用后者需要考虑兼容性问题,如果要兼容Android 3.0以下版本系统的话推荐使用nineoldandroids [2016-10-21更新:现在一般都不需要再兼容那么低版本的Android系统了,所以nineoldandroids这个库已经不再维护了] 使用动画还存在一个交互问题:在android3.0以前的系统上 (4)动画兼容库nineoldandroids中的ViewHelper类提供了很多的get/set方法来为属性动画服务,例如setTranslationX和setTranslationY方法,这些方法是没有版本要求的
android:scaleType="centerCrop" /> </LinearLayout> 动画实现 这里需要使用listviewanimations和nineoldandroids
非常常用的用来显示圆形头像的库 PhotoView:可根据手势进行缩放的图像库,这个也很常见 AndroidImageSlider:展示头部Banner的库,动画效果很多,不过需要依赖picasso和nineoldandroids
.+" //基础项目 basicProject = "com.classic.core:classic:2.0" //动画 nineoldandroids = "com.nineoldandroids