假设我有4个搜索栏,每个值最初设置为25。如果我改变任何一个搜索栏的值,那么这个改变也应该反映在其他3个搜索栏上,就像我增加了值,然后所有其他搜索栏应该减少,反之亦然..
我知道这需要一个我无法弄清楚的数学公式...... 提前致谢
答案 0 :(得分:0)
听起来你想要四个SeekBars总共100个,当一个增加时,其他三个应该按比例减少?
听起来你需要实现SeekBar.OnSeekBarChangeListener http://developer.android.com/reference/android/widget/SeekBar.OnSeekBarChangeListener.html
您希望您的活动能够引用所有四个,并且您需要相同的侦听器(如果您实现了上述接口,则可能是您的Activity)并在所有SeekBars上设置此侦听器。在OnSeekBarChangeListener.onStartTrackingTouch上,您将要记录正在修改的SeekBar以及当时所有四个SeekBar的值。在OnSeekBarChangedListener.onProgressUpdate中,将原始值的变化作为百分比:(新值 - 原始值)/原始值。将其除以三(在剩余的三个SeekBars中分配变化),然后将其应用于其他的值。应该是这样的:原始值*(1 - (第一个SeekBar / 3的变化))
我的数学可能有错误,但这是一般的想法。