网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

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://bjjierui.cn/article/jioeei.html

其他资讯