1、前言#
ArgbEvaluator,真特么是一个相见恨晚的类。因为它可以实现很多有趣的色彩效果,提高体验度。
简单介绍下:
ArgbEvaluator:一个在俩种色彩通,通过偏移量计算出另一个色彩的类。
按小渣渣我的理解就是,传俩个颜色参数,和一个 0~1直接的小数。得到这俩个颜色中间的 颜色.如果是‘0’就是第一个颜色,如果是‘1’就是第二个颜色。
这特么有卵用……
别急。。哥。。别急。。哎哎别打我,我怕了你了。。咱上效果图还不成!
效果图###
效果一:滑动viewpager时,背景色渐变。
这个效果主要是看到了《片刻》的引导页面于是感兴趣研究了下这个效果~~
当时学习的一个博客:感谢这位大大~~~
然后,我就脑洞一开想了点别的效果~感觉特么的ArgbEvaluator
真特么好用!
效果二:随着
EditText
输入框的长度变化背景色~
其实,也不一定得是背景色。我就举个例子嘛~~有更好的想法可以分享下一起研究哈
- 效果三:随着一天的时间变化改变背景色。
咳咳……把你手上的西瓜刀放下,咱好好说话!那个,这个效果的话是根据一天中的时间来改变 背景颜色的。而我所做 的处理是 一小时之类的变化,也就是说如果要看到效果我特么至少得录几十分钟的屏……那个,如果真要我录得话,你还是捡起刚放下的刀往我脑袋上剁吧……
* 效果的话我就展示这三个啦~ 如果有什么有意思的想法,欢迎评论、留言~一起学习嘛。
思路分析
关于这几个效果的实现。主要就是运用了
ArgbEvaluator
的evaluate()
方法.
argbEvaluator.evaluate(fraction,startValue,endValue);
关于这个方法上面我也提过了,这里就不扯犊子了。之所以会想到上面的几种效果,无非是因为他的第一个参数,也就是那个偏移量。
Viewpager的滑动监听可以得到滑动的距离,EditText可以监听输入得到长度,时间……时间也是个数值,当我们将它们的值全部转化为这个方法的第一个参数 偏移量
,然后就能在不同时刻赋予不同的背景颜色啦~嗯哼,不光背景颜色其他颜色也行的……
这只是三个例子,我们还能实现根据进度条的进度变化某些颜色,或者其它什么什么数据来改变又或者自定义View?总之特么的看脑洞了吧。
又到了激动人心的代码时刻了~
代码
开始倒计时…
1...
2.....
3......
4........
5..........
6.............会不会很激动?
7.................你猜几行搞定?!
8........................
哎我不说我不说我不说
哎呦卧槽!哥,你别动不动拿刀子呀!……###
我说…我说…我说还不行么。请看第二篇文章:
《[android]so easy实现根据viewpager、edittext、时间使背景动态渐变色效果~》
喜欢的朋友可以点个关注~