在我的应用中,我有一个范围滑块-输入组合组件:
用户可以使用滑块或输入来更改范围。最大范围是最小值的30%,例如:如果最小值是1000,则最大范围可以是300。因此,如果用户将最大值移动到1400,则滑块会将其最小值调整到1100。>
另一个示例,如果用户将最大值拖动到8000,则滑块的最小范围值将是6200。由于滑块的步长是100,因此范围值将四舍五入到最接近的一百个整数。
现在我不能解决的问题:
如果用户直接通过输入设置最大值(因为它应该是最小值的30%),那么如何计算最大值范围?这就是我的应用现在处理这种情况的方式(它使用在应用init上设置的初始300范围):
有什么主意我该如何解决这个问题?
编辑: 当前是这样实现的:
max - min
(0.3 / 100) * min
max - (0.3 / 100) * min
答案 0 :(得分:1)
如果我正确地理解了您的意见,并且希望通过用户输入来设置最大值,那么您将基于最大值来计算最小值。
无论如何,只要舍入范围滑块值,就可以像这样基于最大值来计算最小值:
max - (0.233 / 100) * max
。
当然,只有在更改最大值时,才应以此方式计算。 该解决方案不是完美的,而是近似的。希望它能解决问题。