0

假设我有 4 个搜索栏,每个搜索栏的值最初设置为 25。如果我更改任何一个搜索栏的值,那么此更改也应该反映在其他 3 个搜索栏上,就像如果我增加值,那么所有其他搜索栏都应该减少,反之亦然。

我知道这需要一个我无法弄清楚的数学公式......提前致谢

4

1 回答 1

0

听起来您希望四个 SeekBar 的总数为 100,并且当一个增加时,其他三个应该按比例减少?

听起来您需要实现 SeekBar.OnSeekBarChangeListener http://developer.android.com/reference/android/widget/SeekBar.OnSeekBarChangeListener.html

您将希望您的活动引用所有四个,并且您需要相同的侦听器(如果您实现上述接口,它可能是您的活动)并在您的所有 SeekBars 上设置此侦听器。在 OnSeekBarChangeListener.onStartTrackingTouch 上,您需要记录正在修改的 SeekBar 以及当时所有四个 SeekBar 的值。在 OnSeekBarChangedListener.onProgressUpdate 中,将与原始值的变化取为百分比:(新值 - 原始值)/原始值。将其除以三(在其余三个 SeekBar 之间分配变化),然后将其应用于其他的值。应该类似于:原始值 * (1 - (第一个 SeekBar 的变化 / 3))

我的数学可能有错误,但这是一般的想法。

于 2012-12-12T07:16:13.330 回答