我正在尝试使用 API 14 配置NumberPicker
小部件。网上有很少的教程或说明可以帮助我正确设置它。
到目前为止,我在 main.xml 中实现了以下代码:
<NumberPicker
android:id="@+id/numberPicker1"
android:layout_width="match_parent"
android:layout_height="48dp"
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不可用,请参见屏幕截图:
任何帮助将不胜感激。
答案 0 :(得分:6)
尝试注释掉for循环和第np.setDisplayedValues(nums);
行。 NumberPicker
应自动为您显示值。
如果您希望android:layout_width="wrap_content"
水平显示您的值,也可以考虑将宽度更改为NumberPicker
。
您似乎无法更改NumberPicker
(请参阅此link)。问题是您正在尝试更改android:orientation
属性...但这是LinearLayout
类的继承属性。除非您自定义自己,否则您可能会被垂直显示NumberPicker
。遗憾!
答案 1 :(得分:2)
将NumberPicker的高度更改为200dp。这只是因为它无法在你指定的高度(48dp)中显示选择器,因此它会影响渲染计算。