Android中具有不同范围的单一定制Seekbar
我已经尝试了许多解决方案来实现一个具有不同范围的单一定制seekbar 当到达某个点时。我正在从事一个科学项目,我需要一个android应用程序的定制seekbar。seekbar的第一个范围为 红色背景为0-50,黄色背景为51-67,绿色背景为68-100。所有3个范围应大小相等或等分。在本教程的帮助下,我已经尝试了很多,并且能够在android中设置相同大小的自定义seekbar背景: 问题在于根据标准设置不同的范围和增量值 我还附上了用油漆画的图片,以清楚地了解我想要实现的目标 如何做到这一点。请帮忙。Android中具有不同范围的单一定制Seekbar,android,android-seekbar,Android,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));
}
您可以增加范围以避免分辨率在高比例时降低,同样,也可以使用范围大小数组对其进行参数化。不需要自定义类