[android]奇思妙想之實用類ArgbEvaluator(漸變色效果)


1、前言#

ArgbEvaluator,真特么是一個相見恨晚的類。因為它可以實現很多有趣的色彩效果,提高體驗度。

簡單介紹下:

ArgbEvaluator:一個在倆種色彩通,通過偏移量計算出另一個色彩的類。
按小渣渣我的理解就是,傳倆個顏色參數,和一個 0~1直接的小數。得到這倆個顏色中間的 顏色.如果是‘0’就是第一個顏色,如果是‘1’就是第二個顏色。

這特么有卵用……

別急。。哥。。別急。。哎哎別打我,我怕了你了。。咱上效果圖還不成!

效果圖###

  • 效果一:滑動viewpager時,背景色漸變。
滑動變色.gif

這個效果主要是看到了《片刻》的引導頁面于是感興趣研究了下這個效果~~
當時學習的一個博客:感謝這位大大~~~

然后,我就腦洞一開想了點別的效果~感覺特么的ArgbEvaluator真特么好用!

  • 效果二:隨著EditText輸入框的長度變化背景色~
輸入框漸變.gif

其實,也不一定得是背景色。我就舉個例子嘛~~有更好的想法可以分享下一起研究哈

  • 效果三:隨著一天的時間變化改變背景色。
時間漸變.gif

咳咳……把你手上的西瓜刀放下,咱好好說話!那個,這個效果的話是根據一天中的時間來改變 背景顏色的。而我所做 的處理是 一小時之類的變化,也就是說如果要看到效果我特么至少得錄幾十分鐘的屏……那個,如果真要我錄得話,你還是撿起剛放下的刀往我腦袋上剁吧……


* 效果的話我就展示這三個啦~ 如果有什么有意思的想法,歡迎評論、留言~一起學習嘛。


思路分析

關于這幾個效果的實現。主要就是運用了ArgbEvaluatorevaluate()方法.

argbEvaluator.evaluate(fraction,startValue,endValue);

關于這個方法上面我也提過了,這里就不扯犢子了。之所以會想到上面的幾種效果,無非是因為他的第一個參數,也就是那個偏移量。
Viewpager的滑動監聽可以得到滑動的距離,EditText可以監聽輸入得到長度,時間……時間也是個數值,當我們將它們的值全部轉化為這個方法的第一個參數 偏移量,然后就能在不同時刻賦予不同的背景顏色啦~嗯哼,不光背景顏色其他顏色也行的……
這只是三個例子,我們還能實現根據進度條的進度變化某些顏色,或者其它什么什么數據來改變又或者自定義View?總之特么的看腦洞了吧。

又到了激動人心的代碼時刻了~

代碼

開始倒計時…
1...

2.....

3......

4........

5..........

6.............會不會很激動?

7.................你猜幾行搞定?!

8........................

我不說我不說我不說

哎呦臥槽!哥,你別動不動拿刀子呀!……###

我說…我說…我說還不行么。請看第二篇文章:

《[android]so easy實現根據viewpager、edittext、時間使背景動態漸變色效果~》

喜歡的朋友可以點個關注~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容