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

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. Flask—07-建立自己的博客(01)

    博客项目 一局王者的时间轻松学会用Flask建立一个属于自己的博客. 需求分析 用户注册登录 用户信息管理 博客发表回复 博客列表展示 博客分页展示 博客收藏点赞 搜索.统计.排序.… 目录结构 bl ...

  2. 『ACM C++』 PTA 天梯赛练习集L1 | 052-053

    今日刷题,水题水题 ------------------------------------------------L1-052------------------------------------ ...

  3. Codeforces Round #483 (Div. 2)C题

    C. Finite or not? time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  4. vue 图片压缩 基于cli3 配置

    chainWebpack: config => { const imagesRule = config.module.rule('images') imagesRule .use('image- ...

  5. Android中,子线程使用主线程中的组件出现问题的解决方法

    Android中,主线程中的组件,不能被子线程调用,否则就会出现异常. 这里所使用的方法就是利用Handler类中的Callback(),接受线程中的Message类发来的消息,然后把所要在线程中执行 ...

  6. centos install rabbitmq

    安装rabbitmq 需要环境上有erlang,没有安装的可以参照下面的内容进行安装: https://www.erlang-solutions.com/resources/download.html ...

  7. Django学习之mysql应用基础

    使用pip 安装mysql pip install mysql 使用命令行打开数据库且选择使用已有的数据库 显示已有数据库show databases; 选择已有数据库 use s23; 显示s23数 ...

  8. linux进程篇 (三) 进程间的通信2 信号通信

    2. 信号通信 用户空间 进程A <----无法通信----> 进程B -----------------|--------------------------------------|- ...

  9. C++远征离港篇-学习笔记

    C++远征离港篇 离港总动员 C++远征计划的学习者肯定是冲着封装,继承,多态来的. 知识点: 指针 VS 引用 #define VS const(更强数据控制力) 函数默认值 & 函数重载 ...

  10. [POJ3090]Visible Lattice Points(欧拉函数)

    答案为3+2*∑φ(i),(i=2 to n) Code #include <cstdio> int T,n,A[1010]; void Init(){ for(int i=2;i< ...