Android Color顏色過度計(jì)算實(shí)現(xià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); }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- 從零開始學(xué)android實(shí)現(xiàn)計(jì)算器功能示例分享(計(jì)算器源碼)
- android計(jì)時器,時間計(jì)算器的實(shí)現(xiàn)方法
- Android中使用GridLayout網(wǎng)格布局來制作簡單的計(jì)算器App
- Android實(shí)戰(zhàn)教程第一篇之最簡單的計(jì)算器
- Android開發(fā)實(shí)現(xiàn)的簡單計(jì)算器功能【附完整demo源碼下載】
- Android開發(fā)中計(jì)算器的sin、cos及tan值計(jì)算問題分析
- android計(jì)算pad或手機(jī)的分辨率/像素/密度/屏幕尺寸/DPI值的方法
- android實(shí)現(xiàn)簡單的乘法計(jì)算代碼
- Android編程實(shí)現(xiàn)根據(jù)不同日期計(jì)算天數(shù)差的方法
- Android開發(fā)實(shí)現(xiàn)的標(biāo)準(zhǔn)體重計(jì)算器功能示例
相關(guān)文章
Flutter使用sqflite處理數(shù)據(jù)表變更的方法詳解
了解過數(shù)據(jù)庫的同學(xué)應(yīng)該會知道,數(shù)據(jù)表結(jié)構(gòu)是可能發(fā)生改變的。所以本文為大家介紹了Flutter?使用?sqflite?處理數(shù)據(jù)表變更的版本升級處理方法,感興趣的可以了解一下2023-04-04Android?內(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)
很多時候因?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詳細(xì)介紹Android-Room數(shù)據(jù)庫的使用
這篇文章主要介紹了詳細(xì)介紹Android-Room數(shù)據(jù)庫的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03OpenGL ES透視投影實(shí)現(xiàn)方法(四)
這篇文章主要為大家詳細(xì)介紹了OpenGL ES透視投影的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05Android Studio如何獲取SQLite數(shù)據(jù)并顯示到ListView上
這篇文章主要介紹了Android Studio獲取SQLite數(shù)據(jù)并顯示到ListView上,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03