博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色
阅读量:6942 次
发布时间:2019-06-27

本文共 1044 字,大约阅读时间需要 3 分钟。

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

/**     * 开始背景动画(此处为属性动画)     */    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时只会显示一张图片。而不会形成动画效果。有知道的朋友帮忙回一下贴,让我也跟着学习一下。谢谢。

转载地址:http://aianl.baihongyu.com/

你可能感兴趣的文章
解决Centos关闭You have new mail in /var/spool/mail/root提示
查看>>
手把手教你反编译别人的APP
查看>>
MapReduce的集群行为和框架
查看>>
Oracle表变化趋势追踪记录
查看>>
排序算法总结之希尔排序
查看>>
python中set使用
查看>>
gradle项目与maven项目相互转化(转)
查看>>
MAC下安装与配置MySQL
查看>>
linux系统的crond服务
查看>>
Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)
查看>>
sqool导出oracle数据
查看>>
MyBatis动态传入表名,字段名参数的解决办法
查看>>
Windows平台下安装Hadoop
查看>>
oracle11gR2静默安装
查看>>
理解javascript中的浏览器窗口——窗口基本操作
查看>>
Directx11学习笔记【二十】 使用DirectX Tool Kit加载mesh
查看>>
【Linux】NAT模式下关于主机ping不通虚拟机的问题
查看>>
SpringMVC 参数注入
查看>>
mysql去重, 把url重复且区为空的中去掉、统计重复数据、、结果集去重合并成一行...
查看>>
atitit.attilax的软件 架构 理念.docx
查看>>