Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中具有不同范围的单一定制Seekbar_Android_Android Seekbar - Fatal编程技术网

Android中具有不同范围的单一定制Seekbar

Android中具有不同范围的单一定制Seekbar,android,android-seekbar,Android,Android Seekbar,我已经尝试了许多解决方案来实现一个具有不同范围的单一定制seekbar 当到达某个点时。我正在从事一个科学项目,我需要一个android应用程序的定制seekbar。seekbar的第一个范围为 红色背景为0-50,黄色背景为51-67,绿色背景为68-100。所有3个范围应大小相等或等分。在本教程的帮助下,我已经尝试了很多,并且能够在android中设置相同大小的自定义seekbar背景: 问题在于根据标准设置不同的范围和增量值 我还附上了用油漆画的图片,以清楚地了解我想要实现的目标 如何做

我已经尝试了许多解决方案来实现一个具有不同范围的单一定制seekbar 当到达某个点时。我正在从事一个科学项目,我需要一个android应用程序的定制seekbar。seekbar的第一个范围为 红色背景为0-50,黄色背景为51-67,绿色背景为68-100。所有3个范围应大小相等或等分。在本教程的帮助下,我已经尝试了很多,并且能够在android中设置相同大小的自定义seekbar背景:

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

我还附上了用油漆画的图片,以清楚地了解我想要实现的目标

如何做到这一点。请帮忙。


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

if (value < 50){
    value /= 10;
} else {
    value = (int)(5 + (  value - 50 ) * ( 95 / 50f ));
}
if(值<50){
数值/=10;
}否则{
值=(int)(5+(值-50)*(95/50f));
}
您可以增加范围以避免分辨率在高比例时降低,同样,也可以使用范围大小数组对其进行参数化。不需要自定义类