问题标签 [android-number-picker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1120 浏览

android - 如何在android中更改数字选择器的背景颜色

代码:

它正在服用black color by default。我该如何改变呢?

0 投票
0 回答
103 浏览

android - 有没有办法在 Android 中检测 NumberPicker 的“LongClick”事件?

只要用户使用触摸滑动手势或长按手势滚动,我就会尝试设置 NumberPicker 的背景。目前我只能对触摸滑动手势做出反应。

以下代码片段有效,但前提是用户执行触摸滑动手势(如触摸屏幕并向上或向下滑动)。

但是,如果我长按例如这张图片中的“3”或“20”,即使 numberPicker 在视觉上滚动,滚动状态也不会改变。 我该如何应对这样的事件?

我试图设置一个 setOnLongClickListener (见下面的代码片段),但我什至没有得到一个 LongClick 事件。

0 投票
0 回答
85 浏览

android - NumberPicker 在滚动时更改可见性或高度时冻结应用程序

我正在开发一个应用程序,并且我有一个带有项目的布局,当按下这些项目时,会在它们下方显示一个 NumberPicker,如下所示:

在此处输入图像描述

我正在使用本机 Android NumberPicker。NumberPickers 以可见性开始,GONE当按下它们上方的项目时,它们的可见性会被切换。但是,我发现,如果用户在它仍在滚动时尝试以这种方式关闭选择器(例如,在选择器上用力滑动,然后在它仍在滚动时立即按下项目以关闭该选择器)会导致选择器陷入无限循环,冻结并最终使应用程序崩溃。记录onValueChangedListenerNumberPicker 会显示以下日志:

我还实现了一个版本,其中 NumberPicker 的可见性变化是动画的,因此它会向外扩展,而不是仅仅被显示。我用一个改变 NumberPicker 高度的动画来实现这一点。在这种情况下,选择器最终会在关闭动画的一半左右停止,与更改可见性时停止的方式相同。

在尝试关闭 NumberPicker 之前,我尝试了几种不同的方法来停止它的滚动。到目前为止没有一个工作。我试过(没有特别的顺序)

  • 调用setValueNumberPicker 的最后一个已知值,认为这可能会停止滚动
  • setEnabled(false)在隐藏 NumberPicker 之前调用
  • performClick()在隐藏 NumberPicker 之前调用
  • dispatchTouchEvent(...)在隐藏 NumberPicker 之前调用
  • 调用jumpDrawablesToCurrentState()NumberPicker 及其父视图
  • scrollBy(0, 0)在隐藏 NumberPicker 之前调用

在所有情况下,滚动动画都不会受到影响,并且在尝试隐藏选择器时应用程序会冻结。

有什么办法可以停止 NumberPicker 的滚动,这样我就可以隐藏视图而不会出现这个循环问题?或者也许有一种方法可以安全地隐藏和显示选取器,而不会导致它们以这种方式循环?

谢谢

0 投票
1 回答
1434 浏览

android - 增加数字选择器轮子项目数 - 默认设置为轮子中的 3 个项目

目前默认情况下,数字选择器一次只显示 3 个值/项目/元素。我以为这很容易改变,但我错了。我无法弄清楚如何改变这一点。我环顾四周,找不到改变它的方法。也许还有另一种我不知道的方式。

我看到了这篇文章,但它是 5 年前的,所以我假设它是 Java 并且它提到了与我相同的问题

NumberPicker 显示超过 3 个值。修改Android内部类

该帖子没有提供答案,但给了我一些研究。这是另一篇文章的评论

“使 SELECTOR_WHEEL_ITEM_COUNT = 5; 或其他东西并更改 NumberPicker 的高度 =“300dp”(取决于 ITEM_COUNT)它按预期工作。我刚刚尝试过。“

我将代码输入到 MainActivity 但不起作用。然后我在 Libraries > android > Widget > NumberPicker.java 中找到了 NumberPicker.java 类并找到了这个

我将 3 更改为 5,但什么也没发生…… Wheel 仍然显示 3 个项目。我假设这段代码没有被使用。如何在 Kotlin 中将轮子形式 3 中的项目数更改为 5?是否有捷径可寻?对于看起来很容易做的事情来说,这非常复杂

谢谢!

0 投票
0 回答
154 浏览

android - NumberPicker 中的 java.lang.IndexOutOfBoundsException

在 Android 的预发布报告中,我收到以下错误。在观看记录时,当机器人选择一个值时它会崩溃,但我无法复制该问题。如果您需要更多信息,请与我们联系。如何解决此错误?

号码选择器是这样设置的

And when a value is selected

0 投票
1 回答
204 浏览

android - 如何在android studio中为数字选择器的选定值和非选定值设置不同的颜色?

我正在制作一个自定义号码选择器。我希望选定值的颜色与非选定值不同。

下面是我的 XML:

在此处输入图像描述

0 投票
1 回答
747 浏览

android - 调用需要 API 级别 29(当前最低为 21):`android.widget.NumberPicker#setTextColor`

我想使用 setTextColor 更改选定的文本颜色字段。但是 Android Studio 给了我这个错误。我应该怎么办?Min SDK 是 21。这是我的 CustomNumberPicker 类的代码:

0 投票
1 回答
63 浏览

java - 如何从我的 Android 应用程序中的 Java 代码在我的布局上添加 NumberPicker?

我正在制作一个简单的应用程序。我想从我的 Java 代码中添加 NumberPicker,但是当我运行它时,应用程序会立即关闭。有人可以告诉我错误在哪里吗?我知道我可以在 XML 中添加它,但我想从 Java 代码中添加它。

非常感谢

0 投票
0 回答
67 浏览

android - 使用 NumberPicker 减小 MaterialAlertDialog 的宽度

我有一个 MaterialAlertDialog 的布局,其中只有一个 NumberPicker

NumberPicker 中使用的主题只是消除数字之间的分隔符的一种解决方法:

在设备上,对话框以最大宽度出现,向左/向右填充,距设备边缘约 16dp。有谁知道如何将 MaterialAlertDialog 的宽度减小到原始宽度的 70%?现在它很空,因为它只有那些数字。

0 投票
2 回答
73 浏览

java - 在 textview 上显示两个数字选择器

我创建了两个数字选择器来伪装成时间选择器,目的很简单,就是能够重复旋转 0 - 30,这很有效。

但现在我想将这两个数字选择器显示到文本视图。

因此,如果数字选择器显示下图中的内容:

在此处输入图像描述

那么时间输出应该显示这个: 在此处输入图像描述

这是我的代码:

我还尝试了以下变体:

但它没有用。Getvalue 似乎获取数字的位置而不是实际数字。

显示 textview 的更改似乎也只发生在用户旋转右侧的数字(分钟)时,如果他们旋转左侧的数字(小时)也应该发生更改