• 属性动画(Property Animation)资源


    Animator 代表一个属性动画,但它只是一个抽象类,通常会使用它的子类:AnimatorSet、ValueAnimator、ObjectAnimator、TimeAnimator。
    定义属性动画的 XML 资源文件能以如下三个元素中的任意一个作为根元素。
    • <set.../>:它是一个父元素,用于包含其他<objectAnimator.../>、<animator.../>或 <set.../>子元素,该元素定义的资源代表 AnimatorSet 对象。
    • <objectAnimator.../>:用于定义 ObjectAnimator 动画。 
    • <animator.../>:用于定义 ValueAnimator 动画。
    实例:不断渐变的背景色
    main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/container"
        >
    </LinearLayout>
    color_anim.xml
    <?xml version="1.0" encoding="utf-8"?>
    <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
        android:propertyName="backgroundColor"
        android:duration="3000"
        android:valueFrom="#FF8080"
        android:valueTo="#8080FF"
        android:repeatCount="infinite"
        android:repeatMode="reverse"
        android:valueType="intType">
    </objectAnimator>
    AnimatorTest.java
    package org.crazyit.res;
    
    import android.animation.AnimatorInflater;
    import android.animation.ArgbEvaluator;
    import android.animation.ObjectAnimator;
    import android.app.Activity;
    import android.content.Context;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.LinearLayout;
    
    /**
     * Description:
     * <br/>site: <a href="http://www.crazyit.org">crazyit.org</a>
     * <br/>Copyright (C), 2001-2014, Yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
     * @version  1.0
     */
    public class AnimatorTest extends Activity
    {
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            LinearLayout container = (LinearLayout)
                findViewById(R.id.container);
            // 添加MyAnimationView组件
            container.addView(new MyAnimationView(this));
        }
    
        public class MyAnimationView extends View
        {
            public MyAnimationView(Context context)
            {
                super(context);
                // 加载动画资源
                ObjectAnimator colorAnim = (ObjectAnimator) AnimatorInflater
                    .loadAnimator(AnimatorTest.this, R.animator.color_anim);
                colorAnim.setEvaluator(new ArgbEvaluator());
                // 对该View本身应用属性动画
                colorAnim.setTarget(this);
                // 开始指定动画
                colorAnim.start();
            }
        }
    }
     
  • 相关阅读:
    前端使用canvas生成盲水印的加密解密
    html2canvas使用心得
    前端开发超好用的截图、取色工具——snipaste
    js识别中英文字符的字节长度并进行裁切
    运用CSS3媒体查询判断iPhoneX、iPhoneXR、iPhoneXS MAX及横竖屏
    webpack4学习笔记
    VUE打包发布后无法访问js、css资源
    IOS微信6.7.4输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置
    移动端浏览器预览word、excel、ppt
    js为页面元素添加水印
  • 原文地址:https://www.cnblogs.com/AndyGe/p/3436845.html
Copyright © 2020-2023  润新知