Android Color颜色过度计算实现代码
发布时间 - 2026-01-11 01:44:40 点击率:次Android Color颜色过度计算实现代码

在看自定义TypeEvaluator来计算属性动画的属性值时,用到了对颜色的过度计算,翻看了好多博客,找到了比较有优秀的解决方案,在此记录,以备后用。
实现效果图:
实现代码:
/**
* 根据fraction值来计算当前的颜色。
*/
private int getCurrentColor(float fraction, int startColor, int endColor) {
int redCurrent;
int blueCurrent;
int greenCurrent;
int alphaCurrent;
int redStart = Color.red(startColor);
int blueStart = Color.blue(startColor);
int greenStart = Color.green(startColor);
int alphaStart = Color.alpha(startColor);
int redEnd = Color.red(endColor);
int blueEnd = Color.blue(endColor);
int greenEnd = Color.green(endColor);
int alphaEnd = Color.alpha(endColor);
int redDifference = redEnd - redStart;
int blueDifference = blueEnd - blueStart;
int greenDifference = greenEnd - greenStart;
int alphaDifference = alphaEnd - alphaStart;
redCurrent = (int) (redStart + fraction * redDifference);
blueCurrent = (int) (blueStart + fraction * blueDifference);
greenCurrent = (int) (greenStart + fraction * greenDifference);
alphaCurrent = (int) (alphaStart + fraction * alphaDifference);
return Color.argb(alphaCurrent, redCurrent, greenCurrent, blueCurrent);
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# Color颜色过度计算
# Color颜色
# 从零开始学android实现计算器功能示例分享(计算器源码)
# android计时器
# 时间计算器的实现方法
# Android中使用GridLayout网格布局来制作简单的计算器App
# Android实战教程第一篇之最简单的计算器
# Android开发实现的简单计算器功能【附完整demo源码下载】
# Android开发中计算器的sin、cos及tan值计算问题分析
# android计算pad或手机的分辨率/像素/密度/屏幕尺寸/DPI值的方法
# android实现简单的乘法计算代码
# Android编程实现根据不同日期计算天数差的方法
# Android开发实现的标准体重计算器功能示例
# 看了
# 在此
# 希望能
# 自定义
# 谢谢大家
# 以备
# 找到了
# 博客
# int
# private
# fraction
# getCurrentColor
# endColor
# startColor
# float
# java
# Color
# TypeEvaluator
# strong
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用PHP快速搭建高效网站?分步指南
Laravel中的Facade(门面)到底是什么原理
如何在IIS中新建站点并解决端口绑定冲突?
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
如何用AI帮你把自己的生活经历写成一个有趣的故事?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
青岛网站建设如何选择本地服务器?
浅谈Javascript中的Label语句
如何在腾讯云服务器上快速搭建个人网站?
Laravel怎么清理缓存_Laravel optimize clear命令详解
香港服务器租用每月最低只需15元?
JS去除重复并统计数量的实现方法
香港服务器部署网站为何提示未备案?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
文字头像制作网站推荐软件,醒图能自动配文字吗?
iOS UIView常见属性方法小结
如何在建站主机中优化服务器配置?
高端建站三要素:定制模板、企业官网与响应式设计优化
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
微信小程序 input输入框控件详解及实例(多种示例)
Laravel如何处理异常和错误?(Handler示例)
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
Laravel如何创建自定义Artisan命令?(代码示例)
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
详解Huffman编码算法之Java实现
简单实现Android文件上传
如何快速完成中国万网建站详细流程?
UC浏览器如何设置启动页 UC浏览器启动页设置方法
如何用IIS7快速搭建并优化网站站点?
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
node.js报错:Cannot find module 'ejs'的解决办法
如何快速生成ASP一键建站模板并优化安全性?
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
魔毅自助建站系统:模板定制与SEO优化一键生成指南
如何用wdcp快速搭建高效网站?
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
JavaScript常见的五种数组去重的方式
如何挑选最适合建站的高性能VPS主机?
EditPlus中的正则表达式实战(5)
如何在服务器上配置二级域名建站?

