Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色

news/2024/7/8 7:23:49

以下是主要代码,难点和疑问点都写在注释中:

/**
     * 开始背景动画(此处为属性动画)
     */
    private void startBackgroundAnimator(){
        /*
         *参数解释:
         *target:设置属性动画的目标类,此处是当前自定义view所以使用this
         *propertyName:属性名称。(要对View的那个属性执行动画操作) 
         *values数组:根据时间的推移动画将根据数组的内容进行改变
         */
        ValueAnimator anim = ObjectAnimator.ofInt(this, "backgroundColor", Color.RED,Color.BLUE,Color.GRAY,Color.GREEN);
        //动画持续时间为3秒
        anim.setDuration(3000);
        /*
         * ArgbEvaluator:这种评估者可以用来执行类型之间的插值整数值代表ARGB颜色。
         * FloatEvaluator:这种评估者可以用来执行浮点值之间的插值。
         * IntEvaluator:这种评估者可以用来执行类型int值之间的插值。
         * RectEvaluator:这种评估者可以用来执行类型之间的插值矩形值。
         * 
         * 由于本例是改变View的backgroundColor属性的背景颜色所以此处使用ArgbEvaluator
         */
        anim.setEvaluator(new ArgbEvaluator());
        //设置动画重复次数,此处设置无限重复
        anim.setRepeatCount(ValueAnimator.INFINITE);
        //设置重复模式
        anim.setRepeatMode(ValueAnimator.REVERSE);
        //开启动画
        anim.start();
    }

这里要说明一下:我在测试view的backgroundResource时只会显示一张图片。而不会形成动画效果。有知道的朋友帮忙回一下贴,让我也跟着学习一下。谢谢。

转载于:https://www.cnblogs.com/tony-yang-flutter/p/3580525.html


http://www.niftyadmin.cn/n/2757443.html

相关文章

Oracle 默认和非默认监听

一、如果使用默认的1521端口,让实例自动注册到该监听上,那么local_listener无需设置,listener.ora文件按照正常方式配置即可。 二、如果使用非默认1521端口,让实例自动注册到该监听上,那么需要设置local_listerner参数…

《android Graphics(一):概述及基本几何图形绘制》

2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/harvic880925/article/details/38875149 1、《android Graphics(一):概述及基本几何图形绘制》2、《android Graphics(二):路…

Shiro入门(三)Shiro异常和JdbcRealm

前言 本章讲解Shiro的异常和JdbcRealm的相关知识 方法 1.回顾 在之前,我们完成了shiro的登陆验证,不知道大家有没有试过写错密码或者用户名会出现什么情况? 是会出现诸如“用户登陆失败!”的字眼吗?显然不是的&…

bzoj 2434 fail tree+dfs序

首先比较明显的是我们可以将字符串组建立ac自动机,那么对于询问s1字符串在s2字符串中出现的次数,就是在以s1结尾为根的fail tree中,子树有多少个节点是s2的节点,这样我们处理fail tree的dfs序,然后用BIT维护&#xff0…

JNDI解读(转)

NDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。 那么&…

Shiro入门(四)Shiro登录验证源码及策略

前言 本章讲解Shiro登录验证的源码剖析以及登录验证策略 方法 一、Shiro登陆验证源码解析 1.使用Subject的login方法验证token 2.实际上Subject类仅仅是一个接口,他通过实现类DelegatingSubject将token委托给SecurityManager 来完成验证 3.而SecurityManager作为…

OCM考点之一外部表管理

一、创建外部表以及产生dmp文件1、创建directory,需要有 create any directory权限:CREATE DIRECTORY admin AS /oracle/admin; 或者创建了diretory后授权read权限:GRANT READ ON DIRECTORY admin TO scott; 2、创建外部表:SQL&…

《从零开始学Swift》学习笔记(Day 56)—— Swift编码规范之命名规范

原创文章,欢迎转载。转载请注明:关东升的博客 程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要。命名方法很多,但是比较有名的,广泛接受命名法有:匈牙利命名,一般只是命…