中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android Color顏色過度計算實現代碼

發布時間:2020-09-12 17:49:33 來源:腳本之家 閱讀:129 作者:lqh 欄目:移動開發

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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

承德市| 同仁县| 霍林郭勒市| 龙陵县| 盐亭县| 光山县| 兖州市| 北流市| 锡林郭勒盟| 灵丘县| 资阳市| 阿荣旗| 临高县| 日照市| 新和县| 永修县| 元谋县| 富锦市| 东阿县| 长沙县| 合江县| 奇台县| 泊头市| 贡山| 兴宁市| 克拉玛依市| 滕州市| 高青县| 龙南县| 泊头市| 磴口县| 澄江县| 浮梁县| 和龙市| 吴江市| 通河县| 乐陵市| 乌苏市| 莱阳市| 洛南县| 五莲县|