只要用户使用触摸滑动手势或长按手势滚动,我就会尝试设置 NumberPicker 的背景。目前我只能对触摸滑动手势做出反应。
以下代码片段有效,但前提是用户执行触摸滑动手势(如触摸屏幕并向上或向下滑动)。
NumberPicker.OnScrollListener myListener = (view, scrollState) -> {
if(scrollState == NumberPicker.OnScrollListener.SCROLL_STATE_IDLE) {
//change background to eg. white
}
else {
//change background to eg. black
}
}
myPicker.setOnScrollListener(myListener);
但是,如果我长按例如这张图片中的“3”或“20”,即使 numberPicker 在视觉上滚动,滚动状态也不会改变。 我该如何应对这样的事件?
我试图设置一个 setOnLongClickListener (见下面的代码片段),但我什至没有得到一个 LongClick 事件。
View.OnLongClickListener myClickListener = v -> {
//change background
return true;
};
myPicker.setOnLongClickListener(myClickListener);