猿问

更改 NumberPicker 滚动速度

不敢相信我还没有找到有关此问题的已回答的 Stack Overflow 帖子...


我正在制作一个计时器,您可以在其中从 NumberPicker 小部件中选择时间。问题是需要10-13卷才能到达底部


我查看了文档,但没有找到任何内容


String[] minsecvalues = new String[61];


for(int i=0; i < minsecvalues.length; i++){

        minsecvalues[i] = Integer.toString(i);

}


NumberPicker mSecondsPicker = (NumberPicker) v.findViewById(R.id.np_seconds_picker);

mSecondsPicker.setMaxValue(60);

mSecondsPicker.setMinValue(0);

mSecondsPicker.setWrapSelectorWheel(true);

mSecondsPicker.setDisplayedValues(minsecvalues);


//supposed to change scroll speed but doesn't work

mSecondsPicker.setOnLongPressUpdateInterval(8000);

//This method looks promising but my app crashes when I run it

//mSecondsPicker.scrollBy(0, 20);


素胚勾勒不出你
浏览 296回答 3
3回答

慕码人2483693

我的ScrollPicker库在这里可能会有所帮助,但不幸的是它不能将“选择器轮”“包裹”,因此无法循环显示列表。虽然您无法通过代码设置滚动速度,但您不必这样做,因为您可以在 1 次滑动中到达这 60 个项目的末尾。这就是为什么我认为它仍然可能适合您的原因。您可以通过滑动时的速度来控制滑动速度。这是您必须做的:1. 使用 ScrollPicker 而不是NumberPicker 2. 使用 setItems(..) 在代码中设置您的集合。不需要 setMinValue、setMaxValue 或转换为字符串,只需设置您的 int 集合。

慕沐林林

我也无法为此找到解决方案,但我只是想澄清一下原因mSecondsPicker.setOnLongPressUpdateInterval(8000);没有按照您期望的方式工作。该方法的描述是“设置分别长按向上和向下按钮时数字递增和递减的速度。”&nbsp;这意味着当您按住向上和向下按钮时,它只会影响滚动速度,而不是控制滑动速度。我相信默认 NumberPicker 的“向上和向下”按钮是 NumberPicker 中突出显示或选定数字的上方和下方的数字。
随时随地看视频慕课网APP

相关分类

Java
我要回答