欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Color顏色過度計(jì)算實(shí)現(xiàn)代碼

 更新時間:2017年06月06日 08:35:14   投稿:lqh  
這篇文章主要介紹了Android Color顏色過度計(jì)算實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下

Android Color顏色過度計(jì)算實(shí)現(xiàn)代碼

在看自定義TypeEvaluator來計(jì)算屬性動畫的屬性值時,用到了對顏色的過度計(jì)算,翻看了好多博客,找到了比較有優(yōu)秀的解決方案,在此記錄,以備后用。

實(shí)現(xiàn)效果圖:

實(shí)現(xiàn)代碼:

/**
 * 根據(jù)fraction值來計(jì)算當(dāng)前的顏色。
 */
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);
}

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

相關(guān)文章

  • Flutter使用sqflite處理數(shù)據(jù)表變更的方法詳解

    Flutter使用sqflite處理數(shù)據(jù)表變更的方法詳解

    了解過數(shù)據(jù)庫的同學(xué)應(yīng)該會知道,數(shù)據(jù)表結(jié)構(gòu)是可能發(fā)生改變的。所以本文為大家介紹了Flutter?使用?sqflite?處理數(shù)據(jù)表變更的版本升級處理方法,感興趣的可以了解一下
    2023-04-04
  • Android使用硬件加速的方式

    Android使用硬件加速的方式

    硬件加速是指利用設(shè)備的硬件資源來加速圖形渲染和圖像處理等操作,以提高應(yīng)用程序的性能和用戶體驗(yàn),Android使用硬件加速的目的是為了提高圖形渲染的性能和效果,本文給大家詳細(xì)介紹了Android如何使用硬件加速,需要的朋友可以參考下
    2023-10-10
  • Android?內(nèi)存優(yōu)化知識點(diǎn)梳理總結(jié)

    Android?內(nèi)存優(yōu)化知識點(diǎn)梳理總結(jié)

    這篇文章主要介紹了Android?內(nèi)存優(yōu)化知識點(diǎn)梳理總結(jié),Android?操作系統(tǒng)給每個進(jìn)程都會分配指定額度的內(nèi)存空間,App?使用內(nèi)存來進(jìn)行快速的文件訪問交互,長時間如此便需要優(yōu)化策略,文章分享優(yōu)化知識點(diǎn)總結(jié),需要的朋友可以參考一下
    2022-06-06
  • 一文詳解無痕埋點(diǎn)在Android中的實(shí)現(xiàn)

    一文詳解無痕埋點(diǎn)在Android中的實(shí)現(xiàn)

    很多時候因?yàn)楫a(chǎn)品都會要獲取用戶的行為,需要客戶端進(jìn)行相關(guān)的埋點(diǎn),下面這篇文章主要給大家介紹了關(guān)于無痕埋點(diǎn)在Android中實(shí)現(xiàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Android本地存儲方法淺析介紹

    Android本地存儲方法淺析介紹

    這篇文章主要介紹了Android本地存儲案例,方法簡單可以實(shí)現(xiàn)存儲并達(dá)到節(jié)省內(nèi)存的效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • Android多線程AsyncTask詳解

    Android多線程AsyncTask詳解

    這篇文章主要為大家詳細(xì)介紹了Android多線程AsyncTask的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 詳細(xì)介紹Android-Room數(shù)據(jù)庫的使用

    詳細(xì)介紹Android-Room數(shù)據(jù)庫的使用

    這篇文章主要介紹了詳細(xì)介紹Android-Room數(shù)據(jù)庫的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • OpenGL ES透視投影實(shí)現(xiàn)方法(四)

    OpenGL ES透視投影實(shí)現(xiàn)方法(四)

    這篇文章主要為大家詳細(xì)介紹了OpenGL ES透視投影的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Android Studio如何獲取SQLite數(shù)據(jù)并顯示到ListView上

    Android Studio如何獲取SQLite數(shù)據(jù)并顯示到ListView上

    這篇文章主要介紹了Android Studio獲取SQLite數(shù)據(jù)并顯示到ListView上,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • OpenGL ES實(shí)現(xiàn)光照效果(六)

    OpenGL ES實(shí)現(xiàn)光照效果(六)

    這篇文章主要為大家詳細(xì)介紹了OpenGL ES實(shí)現(xiàn)光照效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論