资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

AndroidColor颜色过度计算实现代码

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

成都创新互联专注于丹阳企业网站建设,自适应网站建设,成都做商城网站。丹阳网站建设公司,为丹阳等地区提供建站服务。全流程按需开发网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

在看自定义TypeEvaluator来计算属性动画的属性值时,用到了对颜色的过度计算,翻看了好多博客,找到了比较有优秀的解决方案,在此记录,以备后用。

实现效果图:

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

实现代码:

/**
 * 根据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);
}

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


文章标题:AndroidColor颜色过度计算实现代码
转载注明:http://cdkjz.cn/article/jioeei.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220