github上面有个样例非常好的列举了NineOldAndroids兼容动画的使用方法。下载了下来然后执行測试了下:

由于要引用nineoldandroids的项目,我这里直接把它的源码拷贝进去了,用做測试。

android 11版本号也有ObjectAnimator动画属性,可是不能兼容10版本号甚至8的版本号号,国内这个版本号号的手机份额还是不小的。

所以兼容也必须仅仅实用这个开源的了。

 static {
PROXY_PROPERTIES.put("alpha", PreHoneycombCompat.ALPHA);
PROXY_PROPERTIES.put("pivotX", PreHoneycombCompat.PIVOT_X);
PROXY_PROPERTIES.put("pivotY", PreHoneycombCompat.PIVOT_Y);
PROXY_PROPERTIES.put("translationX", PreHoneycombCompat.TRANSLATION_X);
PROXY_PROPERTIES.put("translationY", PreHoneycombCompat.TRANSLATION_Y);
PROXY_PROPERTIES.put("rotation", PreHoneycombCompat.ROTATION);
PROXY_PROPERTIES.put("rotationX", PreHoneycombCompat.ROTATION_X);
PROXY_PROPERTIES.put("rotationY", PreHoneycombCompat.ROTATION_Y);
PROXY_PROPERTIES.put("scaleX", PreHoneycombCompat.SCALE_X);
PROXY_PROPERTIES.put("scaleY", PreHoneycombCompat.SCALE_Y);
PROXY_PROPERTIES.put("scrollX", PreHoneycombCompat.SCROLL_X);
PROXY_PROPERTIES.put("scrollY", PreHoneycombCompat.SCROLL_Y);
PROXY_PROPERTIES.put("x", PreHoneycombCompat.X);
PROXY_PROPERTIES.put("y", PreHoneycombCompat.Y);
}

支持的动画属性名有上面那些

支持上下移动的动画实例:

@Override
protected void setupAnimation(View view) {
// TODO Auto-generated method stub
// getAnimatorSet().playTogether(
// ObjectAnimator.ofFloat(view, "translationY", 0,-300).setDuration(500),
// ObjectAnimator.ofFloat(view, "translationY", -300,300).setDuration(900)
// );
// getAnimatorSet().play(ObjectAnimator.ofFloat(view, "translationY", 0,-300).setDuration(500));
getAnimatorSet().playSequentially(ObjectAnimator.ofFloat(view, "translationY", 0,-100).setDuration(400),
ObjectAnimator.ofFloat(view, "translationY", -100,100).setDuration(800),
ObjectAnimator.ofFloat(view, "translationY", 100,-100).setDuration(800),
ObjectAnimator.ofFloat(view, "translationY", -100,100).setDuration(800),
ObjectAnimator.ofFloat(view, "translationY", 100,0).setDuration(400));
}

也能够用以下的方法:

  @Override
protected void setupAnimation(View view) {
getAnimatorSet().playTogether(
ObjectAnimator.ofFloat(view, "translationY", 0,-100,-200,-300,-200,-100,0,100,200,300,200,100,0,
-100,-200,-300,-200,-100,0,100,200,300,200,100, 0).setDuration(4000),
ObjectAnimator.ofFloat(view, "alpha", 1, 1).setDuration(mDuration*3/2) );
}

这里的效果和上面的效果几乎相同。仅仅只是是这里切割了整段距离。能够把时间平分,

也就是用

playTogether这种方法也能够实现<pre name="code" class="java">playSequentially这种方法的效果。(播放动画队列,非常好理解)


 title = (TextView) findViewById(R.id.title);
final BaseEffects animator = Effectstype.Slidetogether.getAnimator();
final Handler handler = new Handler(new Handler.Callback() { @Override
public boolean handleMessage(Message arg0) {
// TODO Auto-generated method stub
animator.start(title);
return true;
}
});
new Thread(new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
while(true){
try {
Thread.sleep(8000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
handler.sendEmptyMessage(0);
}
}
}).start();

直接对单个View播放动画。如上图。

笔记先作到这里,假设有错误的,还请各位大牛批评指正。

Write the code,Change the world!

playSequentially

关于github上开源nineoldandroids兼容动画的笔记的更多相关文章

  1. 参与github上开源项目的大致流程和注意事项

    Foreword github是一个很火的代码托管服务网站,可能好多人都想参与一两个项目玩一玩学习一下,但由于是纯英文的网站,可能又会止步于想法上没有动手实践.接下来我就介绍一下参与github上开源 ...

  2. OData.NET已在 GitHub上开源

    OData.NET已在 GitHub上开源 微软最近已将OData .NET所有类库的源代码全部发布在GitHub上. 以下与OData相关的项目目前都已迁移到GitHub上: ODataLib Ed ...

  3. 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

    分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目 这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经 ...

  4. 【转载】【技巧总结】PyCharm怎么克隆github上开源的项目

    PyCharm怎么clone github上开源的项目 一.先要确保PyCharm正确的配置了Git   如果你已经在PyCharm中配置好了Git,可以跳过此步骤,直接看下一步.   那么怎么在Py ...

  5. 如何优雅的阅读 GitHub 上开源 js 框架和库的源码

    如何优雅的阅读 GitHub 上开源 js 框架和库的源码 step 先总后分,即先了解一下啊框架的大体架构,又一个全局的认识,在选择某些和感兴趣的部分,仔细阅读,各个击破: 带着问题阅读,用到了什么 ...

  6. GitHub上开源的YOLOv5

    GitHub上开源的YOLOv5 代码地址:https://github.com/ultralytics/YOLOv5 该存储库代表Ultralytics对未来的对象检测方法的开源研究,并结合了我们在 ...

  7. Android github上开源项目、酷炫的交互动画和视觉效果地址集合

    Android上开源的酷炫的交互动画和视觉效果:http://blog.csdn.net/u013278099/article/details/50323689 Awesome-android-ui: ...

  8. 微软为何选择在 Github 上开源 .NET 核心?

    本文来自微软开源.NET 的一篇公告 ,文中阐述了微软为何选择在 Github 开源.NET,以及微软对开源和开源社区方面的认识的变迁. 对于.NET来说,今天(2014/11/12)是个大日子! 我 ...

  9. 快讯 | FireEye在GitHub上开源密码破解工具GoCrack

    近日,FireEye 开源了一款密码破解工具 GoCrack,可在多机器上部署破解任务. GoCrack 是由 FireEye’s Innovation and Custom Engineering ...

随机推荐

  1. Java多线程中run(), start(), join(), wait(), yield(), sleep()的使用

    Run 每个Thread中需要实现的方法, 如果直接调用的话, 会是和单线程一样的效果, 要另起线程需要使用start(). start 新起线程调用run(). 主线程不等待直接往下执行 Yield ...

  2. opencv-3.0.0-beta和opencv2版本号的差别

    我的机器:64位系统 第一步: opencv官网下载opencv3.0.0-beta版本号.解压到自己的目录,我的目录是E:\,解压后在E盘出现名为opencv的目录.该目录下有两个子目录 第二步:配 ...

  3. kubernetes中使用NFS创建pv_pvc

    Persistent Volume(持久化卷)简称PV, 是一个K8S资源对象,我们可以单独创建一个PV, 它不和Pod直接发生关系, 而是通过 Persistent Volume Claim, 简称 ...

  4. 使用EditPlus技巧,提高工作效率(附英文版、自动完成文件、语法文件下载)

    http://www.cnblogs.com/JustinYoung/archive/2008/01/14/editplus-skills.html

  5. Clipboard.GetImage() Clipboard获取粘贴板内容为null的解决办法

    将线程启动模式设置为 sta 单线程 简介 STA:   Single-Thread   Apartment,   中文叫单线程套间.就是在COM库初始化的时候创建一个内存结构,然后让它和调用CoIn ...

  6. 安装完SqlServer2008,wamp服务器无法启动的问题

    "开始"->"程序"->Microsoft SQL Server 2008->配置工具->SQL Server配置管理器->SQL ...

  7. Linux内核(1) - Kernel地图:Kconfig与Makefile

    Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉.毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了 ...

  8. Walkthrough: Writing a Visualizer in C#

    https://msdn.microsoft.com/en-us/library/ms164759.aspx

  9. WeUI中的Css详解

      WeUI是微信Web服务开发的UI套件, 目前包含12个模块 (Button, Cell, Toast, Dialog, Progress, Msg, Article, ActionSheet, ...

  10. DevExpress导出Excel样式设置

    /// <summary> /// 导出到Excel /// </summary> /// <param name="gridControl"> ...