纯色图片颜色渐变动画的实现,主要有两点:

1、纯色图片颜色的改变,使用的方法为ImageView里的setColorFilter(int color);

2、动画使用ValueAnimator,配合相应的颜色TypeEvalutor。

代码实现如下:

public class ImageActivity extends AppCompatActivity {private ImageView imageView;@Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_image);imageView = findViewById(R.id.imageView);ValueAnimator valueAnimator=new ValueAnimator();valueAnimator.setIntValues(Color.RED,Color.GRAY);valueAnimator.setEvaluator(new ColorEvaluator());valueAnimator.setDuration(5000);valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Override
            public void onAnimationUpdate(ValueAnimator animation) {imageView.setColorFilter((Integer) animation.getAnimatedValue());}});valueAnimator.start();}private class ColorEvaluator implements TypeEvaluator{@Override
        public Object evaluate(float fraction, Object startValue, Object endValue) {int startInt = (Integer) startValue;float startA = ((startInt >> 24) & 0xff) / 255.0f;float startR = ((startInt >> 16) & 0xff) / 255.0f;float startG = ((startInt >>  8) & 0xff) / 255.0f;float startB = ( startInt        & 0xff) / 255.0f;int endInt = (Integer) endValue;float endA = ((endInt >> 24) & 0xff) / 255.0f;float endR = ((endInt >> 16) & 0xff) / 255.0f;float endG = ((endInt >>  8) & 0xff) / 255.0f;float endB = ( endInt        & 0xff) / 255.0f;// convert from sRGB to linear
            startR = (float) Math.pow(startR, 2.2);startG = (float) Math.pow(startG, 2.2);startB = (float) Math.pow(startB, 2.2);endR = (float) Math.pow(endR, 2.2);endG = (float) Math.pow(endG, 2.2);endB = (float) Math.pow(endB, 2.2);// compute the interpolated color in linear space
            float a = startA + fraction * (endA - startA);float r = startR + fraction * (endR - startR);float g = startG + fraction * (endG - startG);float b = startB + fraction * (endB - startB);// convert back to sRGB in the [0..255] range
            a = a * 255.0f;r = (float) Math.pow(r, 1.0 / 2.2) * 255.0f;g = (float) Math.pow(g, 1.0 / 2.2) * 255.0f;b = (float) Math.pow(b, 1.0 / 2.2) * 255.0f;return Math.round(a) << 24 | Math.round(r) << 16 | Math.round(g) << 8 | Math.round(b);}}
}

最后再上传一张纯色图片!

纯色图片颜色渐变动画相关推荐

  1. android 图片颜色渐变动画,自定义View之颜色渐变折线图

    今日科技快讯 近日,汽车之家宣布与湖南卫视达成独家战略合作.据悉,双方开辟了"台网互动"营销模式,将共同开展汽车广告业务,并联合推出品效合一的新型汽车类广告产品"芒果汽车 ...

  2. 纯css实现背景颜色渐变动画

    纯css实现背景颜色渐变动画,代码及效果图如下. body {width: 100wh;height: 100vh;color: #fff;background: linear-gradient(-4 ...

  3. Android 在xml中更改纯色图片颜色

    Android 在xml中更改纯色图片颜色 使用Android:tint属性,设置想要的颜色,就是发现纯色图片变为设置的颜色了

  4. Android颜色渐变动画效果的实现

    系列文章目录 Android颜色渐变动画效果的实现 文章最后有源码 文章目录 系列文章目录 前言 一.Android中插值器TypeEvaluator. 二.案例效果实现 1.利用Android自带的 ...

  5. WPF 坑系列之一 颜色渐变动画

    WPF 颜色渐变动画 坑 动画对象不能用于动画属性"BorderBrush",因为它是不兼容的类型"System.Windows.Media.Brush" &l ...

  6. android的颜色渐变动画效果图,Android简单实现一个颜色渐变的ProgressBar

    今天看一个教程,看到一个颜色渐变的ProgressBar,觉得有点意思,所以记录一番. 下面这个是效果图 颜色渐变的ProgressBar 看到效果图可能会给人一种使用了高端技术的感觉,其实这个没有那 ...

  7. ImageView设置纯色图片颜色

    我们在项目中会遇到各种各样的图标,有时候相同的图标需要换成不同的颜色,如果每种颜色都去做一套的话,不经费时费力,而且会使我们的APP变大. ImageView有一个属性可以去改变图片的颜色,特别是纯色 ...

  8. android 颜色渐变动画,Android渐变研究

    GradientDrawable 用GradientDrawable实现渐变可以通过xml或者代码实现,xml实现需要在drawable下建立xml文件,在标签下建立标签. 例如gradlient_b ...

  9. css改变纯色图片颜色的几种方式

    公司最近做个项目,碰上了用状态控制图片的展示,图片区别就在于颜色不同,为了网络性能优化,用css进行着色重复利用 方案一 filter: drop-shadow() filter: drop-shad ...

最新文章

  1. ssm框架mysql配置_ssm框架使用详解配置两个数据源
  2. 利用计算机模拟人脑进行演绎,2014年4月自学考试计算机应用技术试题
  3. memcached企业面试题
  4. angularjs1-5,class,
  5. 设计java application程序_下面哪些步骤是Java Application程序的建立及运行的步骤( )...
  6. Hostiko v54.0 – WordPress WHMCS-云服务器VPS主机销售模板源码
  7. selenium-行为链-ActionChains-0223
  8. C++自由存储空间:new
  9. python添加一个球_在Python中创建一个旋转球体
  10. python入门教程pdf-Python入门教程详解.pdf
  11. 大数据处理系统有哪些
  12. 【MapReduce运行报错】Type mismatch inkey form map:excepted org.apache.hadoop.io.Text,recived MR.wordcount.
  13. 服务等级协议SLA到底是在说什么?
  14. 2022年“研究生科研素养提升”系列公益讲座在线测评
  15. 测试minio集群的上传下载速度
  16. 在iOS 14中使用带有SF Symbols 2的彩色图标
  17. php 自定义图片排版,照片拼图在线制作 自带多种照片拼图模板,自由排版将多张照片合成一张...
  18. MVP、EMC、CRM、IoT、边缘计算盒子、系统群控、数字化赋能、EMS、冷媒
  19. 【数学建模】数学建模(一)——数学模型概述
  20. 计算机安全类论文题目,★计算机络安全论文题目计算机络安全毕业论文题目大全计算机络安全论文选题参考...

热门文章

  1. python 梦幻西游_GitHub - BestBurning/mhxy: tensorflow实践:梦幻西游人物弹窗识别
  2. 大数据平台下的数据治理
  3. 跨境早报| 亚马逊FBA推配送新服务!Shopee全面开放巴西站点广告功能
  4. 中南大学计算机学硕很难考吗,中南大学硕士轻生,研究生成高危职业,请听我三句肺腑之言...
  5. 翻译考试用计算机作答,上半年CATTI考试方式还是纸笔,下半年就实行全面机考?真是几家欢喜几家愁!...
  6. 外观模式--牛市股票还会亏钱
  7. 基于TensorFlow的歌曲曲风变换
  8. 实验3 手写字体识别【机器学习】
  9. Apache服务(一)Apache服务的基本控制
  10. 工业“元宇宙”蓄势待发,未来制造业将如何变化?