Android NumberPicker隐藏增量和减量按钮

我正在使用NumberPicker并且我的目标是API 11及更高版本(3.0及更高版本),所以我使用支持的NumberPicker 。 这用于计时器应用程序。 我希望能够随意隐藏增量和减量按钮,以便隐藏时按钮不会占用布局中的空间。 我试图这样做:

View increment = secs.getChildAt(0); increment.setVisibility(View.GONE); View decrement = secs.getChildAt(2); decrement.setVisibility(View.GONE); 

其中secs是计时器中秒数的NumberPicker。 如果我试图隐藏它显示数字的位置(一个EditText小部件)它隐藏得很好,但上面的代码什么也没做。

所以,我的问题是,如何完成隐藏增量和减量按钮? 我真的想避免像我在其他一些post中看到的那样制作我自己的自定义数字选择器,但如果这是我真正唯一的方式,我愿意尝试它。

谢谢!

这是我们要求的附加代码。 启动秒表时onClick方法中的代码:

 if (stopPush) { startTime = System.currentTimeMillis() - elapsedTime; } else { startTime = System.currentTimeMillis(); } mHandler.removeCallbacks(startTimer); mHandler.postDelayed(startTimer, 0); 

处理秒表能力的代码:

 private Runnable startTimer = new Runnable() { public void run() { elapsedTime = System.currentTimeMillis() - startTime; updateTimer(elapsedTime); mHandler.postDelayed(this, REFRESH_RATE); } }; 

计算和更新秒表时间的代码:

 this.millis = (int) (elapsedTime / 100); this.seconds = (int) (elapsedTime / 1000); this.minutes = (seconds / 60); this.hours = (minutes / 60); millis = millis % 10; seconds = seconds % 60; minutes = minutes % 60; hours = hours % 24; runOnUiThread(new Runnable() { public void run() { hrs.setValue(hours); } }); runOnUiThread(new Runnable() { public void run() { mins.setValue(minutes); } }); runOnUiThread(new Runnable() { public void run() { secs.setValue(seconds); } }); runOnUiThread(new Runnable() { public void run() { mills.setValue((int) millis); } }); 

如果不在数字选择器上提供最小值和最大值,则按钮(通常)不会显示。

开发者网站说,

NumberPicker是一个小部件,使用户可以从预定义的范围中选择一个数字。 这个小部件有两种风格,其中一种呈现给用户取决于当前主题。

如果当前主题是从Theme派生的,则窗口小部件将当前值显示为可编辑的输入字段,上面有一个增量按钮,下面是一个减量按钮。 长按按钮可以快速更改当前值。 点击输入字段允许输入所需的值。

如果当前主题派生自Theme_HoloTheme_Holo_Light则窗口小部件将当前值显示为可编辑输入字段,其值小于上方,值大于下方。 点击较小或较大的值可通过向上或向下设置数字轴的动画来选择它,以使所选值为当前值。 向上或向下投掷允许当前值的多个增量或减量。 长按较小和较大的值也可以快速更改当前值。 点击当前值允许输入所需的值。

所以你可以尝试改变主题。