我正在开发 Android 应用程序。在内部某处,我正在显示 NumberPicker
小部件。
如何禁用最小值和最大值之间的转换?
我的意思是,我正在使用一个数字选择器,最小值为 0,最大值为 9999。它看起来像这样,
通过这种方式,用户可以快速挥动小部件从 0 跳到 9999。 我不想要这种行为。数字选择器小部件现在看起来像一个闭合的圆圈,我正在尝试查看如何在最小值和最大值之间准确地打破圆圈,以便从最小值和最大值看起来像这样:
我怎样才能做到这一点?
我尝试过的:
- 我在
NumberPicker
API 中到处搜索,这似乎不是一个可以简单地使用方法设置的东西。 - 我觉得可以使用方法
setDisplayedValues(String[] displayedValues)
方法在最小值之前和最大值之后添加空字符串,这样最小值之前就不会显示任何值了或者在最大值之后,但是用户仍然可以跳过它们,或者更糟:选择空值。
有什么想法吗?我是否必须亲自动手并深入研究小部件的实现?也许在触摸监听器内部?
最佳答案
您必须在数字选择器上调用 setWrapSelectorWheel(false)
。请注意,在调用 setWrapSelectorWheel(false) 之前执行
。如果您不这样做,它根本无法工作。setMinimumValue(...)
和 setMaximumValue(...)
)
像我一样,您可能正在寻找一种通过 xml 来执行此操作的方法,但当时没有办法。
关于android - 阻止 NumberPicker 中最小值和最大值之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15683867/