android-如何从线性渐变获取当前颜色?

android-如何从线性渐变获取当前颜色?,第1张

概述我有一个搜索栏,其值的范围从1到10.THUMB停在1,2,3,4,5…10.如果SeekBar为线性渐变,则为背景色[颜色从红色开始,然后是黄色,最后是绿色].如何获得拇指所在位置的当前颜色?解决方法:pskink’ssuggestion是正确的.您可以使用ArgbEvaluator实现此目标.假设这是您的SeekBar:C1

我有一个搜索栏,其值的范围从1到10.THUMB停在1,2,3,4,5 … 10.

如果Seekbar为线性渐变,则为背景色[颜色从红色开始,然后是黄色,最后是绿色].如何获得拇指所在位置的当前颜色?

解决方法:

pskink’s suggestion是正确的.您可以使用ArgbEvaluator实现此目标.

假设这是您的Seekbar:

 C1                                  C2                                  C3 +-------|-------|-------|-------|---+---|-------|-------|-------|-------+                           1       2       3       4       5       6       7       8       9       10

您有10个Thumb位置(从1到10的数字),3种颜色(正负号表示颜色的位置,而C1,C2和C3表示颜色的名称).

C1和C2之间(以及C2和C3之间)的距离可以分为9个部分.这9个片段可以代表您的Thumb位置:

 C1                                  C2                                  C3 +-------|-------|-------|-------|---+---|-------|-------|-------|-------+  |       |       |       |       |   |   |       |       |       |       |                    0/9     2/9     4/9     6/9    8/9  9/9  |       |       |       |       |                                     |   |       |       |       |       |                                    0/9  1/9    3/9     5/9     7/9     9/9

因此,可以通过以下方式计算Seekbar的值:

int c1 = 0xFFFF0000; // ARGB representation of REDint c2 = 0xFFFFFF00; // ARGB representation of YELLOWint c3 = 0xFF00FF00; // ARGB representation of GREENArgbEvaluator evaluator = new ArgbEvaluator();int thumb1 = (int) evaluator.evaluate(0f,      c1, c2); // 0f/9f = 0fint thumb2 = (int) evaluator.evaluate(2f / 9f, c1, c2);int thumb3 = (int) evaluator.evaluate(4f / 9f, c1, c2);int thumb4 = (int) evaluator.evaluate(6f / 9f, c1, c2);int thumb5 = (int) evaluator.evaluate(8f / 9f, c1, c2);int thumb6 = (int) evaluator.evaluate(1f / 9f, c2, c3);int thumb7 = (int) evaluator.evaluate(3f / 9f, c2, c3);int thumb8 = (int) evaluator.evaluate(5f / 9f, c2, c3);int thumb9 = (int) evaluator.evaluate(7f / 9f, c2, c3);int thumb10 = (int) evaluator.evaluate(1f,     c2, c3); // 9f/9f = 1f
总结

以上是内存溢出为你收集整理的android-如何从线性渐变获取当前颜色?全部内容,希望文章能够帮你解决android-如何从线性渐变获取当前颜色?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1094186.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存