说明:
值动画分:平移动画,旋转动画,缩放动画,透明动画,颜色渐变动画
1)animator.setTarget(mIVHandle); 表示把动画添加到要实现动画的view上面
2) translationX 是view源码里的setTranslationX的translationX部分

———————————————————————
有需求者请加qq:136137465,非诚勿扰
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
——————————————————————–

1.值动画Activity对象

public class PropertyAnimActivity extends Activity {    private ImageView mIVHandle;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_properties_anim);        mIVHandle = (ImageView) findViewById(R.id.iv_hand);    }    //位移    public void clickTraslate(View view){        ObjectAnimator animator = ObjectAnimator.ofFloat(mIVHandle, "translationX", 0, 200);        animator.setDuration(3000);        animator.setRepeatCount(ObjectAnimator.INFINITE);        animator.setRepeatMode(ObjectAnimator.REVERSE);        animator.start();    }    //缩放    public void clickScale(View view){        //mIVHandle.setPivotX(0.5f);        //mIVHandle.setPivotY(0.5f);        ViewHelper.setPivotX(mIVHandle, 0.5f);        ViewHelper.setPivotY(mIVHandle, 0.5f);        ObjectAnimator animator = ObjectAnimator.ofFloat(mIVHandle, "scaleX", 0, 2);        animator.setDuration(3000);        animator.setRepeatCount(ObjectAnimator.INFINITE);        animator.setRepeatMode(ObjectAnimator.REVERSE);        animator.start();    }    //旋转    public void clickRotate(View view){        //ObjectAnimator animator = ObjectAnimator.ofFloat(mIVHandle, "rotationX", 0, 360);        ObjectAnimator animator = ObjectAnimator.ofFloat(mIVHandle, "rotation", 0, 360);        animator.setDuration(3000);        animator.setRepeatCount(ObjectAnimator.INFINITE);        animator.setRepeatMode(ObjectAnimator.REVERSE);        animator.start();    }    //透明    public void clickAlpha(View view){        ObjectAnimator animator = ObjectAnimator.ofFloat(mIVHandle, "alpha", 0, 1);        animator.setDuration(3000);        animator.setRepeatCount(ObjectAnimator.INFINITE);        animator.setRepeatMode(ObjectAnimator.REVERSE);        animator.start();    }    //集合    public void clickSet(View view){        AnimatorSet set = new AnimatorSet();        ObjectAnimator alpha = ObjectAnimator.ofFloat(mIVHandle, "alpha", 0, 1);        ObjectAnimator rotation = ObjectAnimator.ofFloat(mIVHandle, "rotation", 0, 360);        ObjectAnimator scale = ObjectAnimator.ofFloat(mIVHandle, "scaleX", 0, 2);        //1.按循序播放        set.playSequentially(alpha, rotation, scale);        //2.按先后播放        set.play(alpha).after(rotation).before(scale);        //3.同时播放        set.playTogether(alpha, rotation, scale);        set.setDuration(2000);        set.start();    }    //color    public void clickColor(View view){        //setBackgroundColor        ObjectAnimator animator = ObjectAnimator.ofObject(mIVHandle, "backgroundColor", new ArgbEvaluator(), Color.RED, Color.BLUE);        animator.setDuration(3000);        animator.setRepeatCount(ObjectAnimator.INFINITE);        animator.setRepeatMode(ObjectAnimator.REVERSE);        animator.start();    }    //xml    public void clickXml(View view){        Animator animator = AnimatorInflater.loadAnimator(this, R.animator.translator);        animator.setTarget(mIVHandle);        animator.start();        //AnimatorInflater.loadAnimator(this, R.animator.scale).setTarget(mIVHandle).start();    }}

2.布局文件activity_properties_anim.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="clickTraslate"            android:text="位移" />        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="clickScale"            android:text="缩放" />        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="clickRotate"            android:text="旋转 " />        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="clickAlpha"            android:text="透明" />    LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="clickSet"            android:text="集合" />        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="clickColor"            android:text="color" />        <Button            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="clickXml"            android:text="xml" />    LinearLayout>    <RelativeLayout        android:layout_width="match_parent"        android:layout_height="match_parent" >        <ImageView            android:id="@+id/iv_hand"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:src="@drawable/icon" />    RelativeLayout>LinearLayout>

3.调用的平移动画xml文件translator.xml,在res文件夹下添加animator目录

<?xml version="1.0" encoding="utf-8"?><objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"    android:duration="2000"    android:propertyName="translationX"    android:repeatMode="reverse"    android:valueFrom="0"    android:valueTo="100"    android:valueType="floatType" >objectAnimator>

更多相关文章

  1. android Bitmap的截取和缩放--转
  2. [Flutter] Flutter之Android开发者教程(一)(自译)
  3. Android(安卓)第十一天重置版_新特性
  4. 这样做动画交互,一点都不费力!
  5. Android(安卓)手写动画框架
  6. Android中动画的详细讲解
  7. Android(安卓)Api demo系列(一) (App>Activity>Animation)
  8. Android从程序员到架构师之路(高焕堂课件合集)
  9. Android--Animation动画介绍和实现

随机推荐

  1. 【转】Android(安卓)statusBar添加back,h
  2. Android数据加密之Des加密
  3. Android系统自带样式(android:theme)解析
  4. Android中Tweened animation简介
  5. Android更新Ui进阶精解(二)
  6. Android更新Ui进阶精解(一)
  7. Android记事本NotePad应用功能拓展(四)
  8. 元素可指定如下常用属性
  9. android 兼容所有刘海屏的方案大全
  10. Android UI Design