如何使用 NumberPicker 小部件 Android 4.0
Posted
技术标签:
【中文标题】如何使用 NumberPicker 小部件 Android 4.0【英文标题】:How to use NumberPicker widget Android 4.0 【发布时间】:2012-03-05 23:48:31 【问题描述】:我正在尝试使用 API 14 配置 NumberPicker
小部件。网上很少有教程或说明可以帮助我正确设置它。
到目前为止,我在 main.xml 中实现了以下代码:
<NumberPicker
android:id="@+id/numberPicker1"
android:layout_
android:layout_
android:orientation="horizontal" />
在 onCreate() 方法的主要活动中:
NumberPicker np = (NumberPicker) findViewById(R.id.numberPicker1);
String[] nums = new String[20];
for(int i=0; i<nums.length; i++)
nums[i] = Integer.toString(i);
np.setMinValue(1);
np.setMaxValue(20);
np.setWrapSelectorWheel(false);
np.setDisplayedValues(nums);
np.setValue(1);
在模拟器中运行我的应用程序时,numberpicker 小部件没有按预期显示。按钮不是左右,而是上下。并且这些值相互重叠,而不是显示一个数字。单击箭头会使应用程序崩溃。
编辑
在第一个答案中进行了如下所述的更改,但是 numberpciker 不可用,请看截图:
任何帮助将不胜感激。
【问题讨论】:
看起来MatchPicker
从父类继承了android:orientation
XML 属性,所以这可能是问题所在。尝试摆脱那条线,看看它是否有效。我正在尝试找到一种在线水平显示值的方法...
Android 4.0.x 上还有什么方法可以获取背景滚轮图像吗?它在以后的版本中就像一个魅力。
【参考方案1】:
尝试注释掉 for 循环和行 np.setDisplayedValues(nums);
。 NumberPicker
应该会自动为您显示值。
如果您希望NumberPicker
水平显示您的值,您也可以考虑将宽度更改为android:layout_width="wrap_content"
。
编辑:
您似乎无法更改NumberPicker
(请参阅此link)。问题是您正在尝试更改 android:orientation
属性...但这是从 LinearLayout
类继承的属性。除非您自定义自己的,否则您可能会被垂直显示的NumberPicker
卡住。对不起!
【讨论】:
您好,感谢您的帮助,我已经按照您的建议进行了更改,但是数字选择器仍然无法使用。【参考方案2】:将 NumberPicker 的高度更改为 200dp。这只是因为它无法在您指定的高度(48dp)显示选择器,因此它会弄乱渲染计算。
【讨论】:
以上是关于如何使用 NumberPicker 小部件 Android 4.0的主要内容,如果未能解决你的问题,请参考以下文章
在使用 TimePicker 或 NumberPicker 查看对话框首选项时旋转 Android 设备会导致应用程序崩溃