首页 > 系统 > Android > 正文

Android Color颜色过度计算实现代码

2019-12-12 02:44:49
字体:
来源:转载
供稿:网友

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);}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表