当用户停止移动但没有松开手指时如何捕捉?
示例:
我的应用程序包含用于在花园LED灯上设置亮度的搜索栏(UDP控制),当用户停止在搜索栏上移动拇指时,我只希望发送一个UDP数据包。在停止200ms之后,而不是在onProgressChanged事件上发送一堆数据包。
就像onStopProgressChanged。
可以这样做吗?:
在200毫秒后调用onProgressChanged中的函数,并检查当前位置是否等于最后位置,如果不等于,则设置last_pos = cur_pos。如果值相等,则发送数据包。
您的意见吗?
UPD:
private Handler seekbar_onchange_handler = new Handler();
...
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
seekbar_onchange_handler.removeCallbacksAndMessages(null);
seekbar_onchange_handler.postDelayed(() -> checkMoveStopping(progress), 100);
}
(如何启用lambda表达式-> Android Studio Lambda expressions are not allowed at this language level) ..
private void checkMoveStopping(Integer progress) {
if (progress.equals(seekbar_brightness.getProgress())) {
// user stopped move finger
}
}
这是正确的解决方案吗?