Android中的单个自定义搜索栏,具有不同的范围

时间:2015-12-14 16:09:16

标签: android android-seekbar

我尝试了很多解决方案来实现具有不同范围的单个自定义搜索栏 到达某些点时。我正在研究科学项目,我需要一个自定义搜索栏用于Android应用程序。 seekbar将具有第一个范围 红色背景为0-50,第二范围为51-67,黄色背景,最后68-100为绿色背景。所有3个范围应该具有相同的大小或等分。我已经尝试了很多,并且能够在本教程的帮助下在android中设置相同大小的自定义搜索栏背景: https://azzits.wordpress.com/2013/11/17/customseekbar/

问题是根据标准设置不同的范围和增量值。

我还附上了绘画中的图像,以便清楚地了解我想要实现的目标。

如何实现这一目标。请帮忙。 Custom Seek Bar with different range and background

enter image description here

1 个答案:

答案 0 :(得分:0)

使用SeekBar的更改侦听器并应用算术运算来获取特定值。例如,前半部分映射到0-4,第二部分映射到5-100:

if (value < 50){
    value /= 10;
} else {
    value = (int)(5 + (  value - 50 ) * ( 95 / 50f ));
}

您可以增加范围以避免在高档时降低分辨率,并且类似地,使用范围大小数组对其进行参数化。无需自定义类。