学习了一下动画效果的使用,做一下笔记

ImageView imageView = findViewById(R.id.imageView);
ObjectAnimator.ofFloat(imageView,"translationY",0F,200F)
.setDuration(1000).start();//translationX也可以 ObjectAnimator.ofFloat(imageView,"rotation",0F,360F)
.setDuration(1000).start();//旋转360度
//这里是多个动画同时实现 Y方向上的平移与自身的旋转
PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("rotation",0,360F);
PropertyValuesHolder p2 = PropertyValuesHolder.ofFloat("translationX",0,200F);
PropertyValuesHolder p3 = PropertyValuesHolder.ofFloat("translationY",0,200F);
//设置三个动画
ObjectAnimator.ofPropertyValuesHolder(imageView,p1,p2,p3).setDuration(1000).start();
// 先传入控件 然后是个可变长的数组
ObjectAnimator animator1 = ObjectAnimator.ofFloat(imageView,"rotation",0,360F);
ObjectAnimator animator2 = ObjectAnimator.ofFloat(imageView,"translationX",0,300F);
ObjectAnimator animator3 = ObjectAnimator.ofFloat(imageView,"translationY",0,300F); AnimatorSet set=new AnimatorSet();
set.playTogether(animator1,animator2,animator3);//同时
set.setDuration(1000);
set.start();
ObjectAnimator animator1 = ObjectAnimator.ofFloat(imageView,"rotation",0,360F);
ObjectAnimator animator2 = ObjectAnimator.ofFloat(imageView,"translationX",0,300F);
ObjectAnimator animator3 = ObjectAnimator.ofFloat(imageView,"translationY",0,300F); AnimatorSet set = new AnimatorSet();
set.playSequentially(animator1,animator2,animator3);//按照顺序开始动画
set.setDuration(1000);
set.start();

通过with,after,before来定义多个动画之前的先后顺序

set.play(animator2).with(animator3);
set.play(animator1).after(animator2);
ObjectAnimator animator = ObjectAnimator.ofFloat(view,"alpha",0F,1F);//设置透明度
animator.setDuration(1000);// 1000ms
animator.addListener(new AnimatorListenerAdapter() {//设置监听器
  //这里只重写了 end的监听,也可以重写 start等监听
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);//end时 toast
Toast.makeText(MainActivity.this,"anim end",Toast.LENGTH_SHORT).show();
}
});
animator.start();

动画效果 ObjectAnimator的更多相关文章

  1. android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览

    支持:https://www.cnblogs.com/whoislcj/p/5738478.html translationX的效果: protected void onCreate(Bundle s ...

  2. Android动画效果之自定义ViewGroup添加布局动画

    前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...

  3. Android动画效果之Property Animation进阶(属性动画)

    前言: 前面初步认识了Android的Property Animation(属性动画)Android动画效果之初识Property Animation(属性动画)(三),并且利用属性动画简单了补间动画 ...

  4. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  5. Android属性动画之ObjectAnimator控制

    Android为我们提供了大量的动画效果,如何通过这些动画来达到我们需要的效果呢?今天就为大家总结一下ObjectAnimator动画控制事件. 该项目的的布局文件只有两个控件:ImageView和B ...

  6. Android属性动画之ObjectAnimator

    相信对于Android初学者,对于Android中的动画效果一定很感兴趣,今天为大家总结一下刚刚学到的属性动画案例. 首先和一般的Android应用一样,我们先建一个工程,为了方便,我们的布局文件中就 ...

  7. 安卓动画之ObjectAnimator

    ObjectAnimator 不仅仅移动位置,还移动了对象view 先来代码片段: //Y轴变换 ObjectAnimator oa = ObjectAnimator.ofFloat(imageVie ...

  8. android动画效果演示

    第一种:TranslateAnimation  动画效果演示: public void move(View view) { // 传统动画效果 TranslateAnimation animation ...

  9. 一个带动画效果的颜色选择对话框控件AnimatedColorPickerDialog

    android4.4的日历中选择日程显示颜色的时候有一个颜色选择对话框非常漂亮,模仿他的界面我实现了一个类似的对话框,而且带有动画效果. 代码的实现可讲的地方不多,主要是采用了和AlertDialog ...

随机推荐

  1. weex图片加载更多方法loadmore的使用

    首先,放一个weex中loadmore使用的demo,可以看一下http://dotwe.org/vue/8dd2a10c69e149ae8971f8298cc8bebf 1.在list标签上添加 @ ...

  2. springboot-自定义起步依赖

    自定义起步依赖步骤: 1.  添加configuration注解文件 -          指定什么情况下加载配置 -          使用enableconfigurationProperties ...

  3. JavaScript - 异步的前世今生

    ​ 在开始接触JavaScript的时候,书上有一句话我记忆深刻,JavaScript是一门单线程语言,不管从什么途径去获取这个消息,前端开发者都会记住,哦~~,JavaScript是一门单线程语言, ...

  4. go语言学习(一):数组/切片

    学习区块链之后,发现还要学习加密,接触到的视频是:Go的crypto包,所以开始接触Go.因为和solidity有些相似,但是比solidity简单一些,就开始放松的心态去学习.每天翻着go菜鸟教程, ...

  5. thinkphp5配置讲解

    一.thinkphp配置类型有哪些? 1.在thinkphp中,有6种配置.即惯例配置,应用配置.扩展配置.模块配置.场景配置.动态配置. 2.惯例配置就是系统默认的配置. 3.应用配置就是我们自己开 ...

  6. curl下载文件

    * curl下载文件* 根据业务需求* 通过不同站点去访问路径* 下载文件* 但是不同站点需要设置header头* 这里使用curl方式下载* 具体看代码: //下载地址 $url = 'https: ...

  7. PHP变量定义及工作原理

    1.变量定义: 通常学到的是,变量代表存储空间以及其中数据的一个“标识符”. 变量名 指向 变量值 更深入的说是 变量指向内存的一块区域 2.变量工作原理,通过画图分析法——内存空间 <?php ...

  8. python3 package management 包管理 实例

    包是一种组织管理代码的方式,包里面存放的是模块 用于将模块包含在一起的文件夹就是包 包内包含__init__.py标志性文件 定义一个学生类,一个sayhello函数,一个打印语句 # p01.py ...

  9. python3.5 安装twisted

    https://blog.csdn.net/caimouse/article/details/77647952 下载地址:http://www.lfd.uci.edu/~gohlke/pythonli ...

  10. #if、#if defined 的使用

    #if的使用 if 后面接的是表达式 #if a==1 code -- #endif 如果#if后面的表达式能成立,就会把#if和#endif之间的代码编译进去 #if defined的使用 #if ...