可能重复:
How would one implement a NumberPicker in Android API 7?
我需要选择一个0到12范围内的小整数。我的UI中用来做这个的空间是有限的,并且必须比它高。 API 8中是否有可用于执行此操作的小部件?
编辑:可能重复以前的SO问题。我看到了一个密切相关的问题,但是A)它没有“横向定向”限制和B)关于代码可以从api 11复制的建议没有得到关于如何去做的解释。
答案 0 :(得分:8)
最简单(但也最丑陋)的是带有输入类型编号的编辑文本。
但从头开始制作数字选择器并不是那么难。
您只需要一个Textview,它将变量作为文本。添加一个+和 - 按钮,增加/减少变量并调用Textview.setText(变量)
counter = 0;
add = (Button) findViewById(R.id.bAdd);
sub = (Button) findViewById(R.id.bSub);
display = (TextView) findViewById(R.id.tvDisplay);
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
counter++;
display.setText( "" + counter);
}
});
sub.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
counter--;
display.setText( "" + counter);
}
});
}
在xml中只需添加2个带有id bAdd和bSub的按钮以及带有id tvDisplay的textview,并按照你想要的方式排列它们
答案 1 :(得分:1)
尝试查看此Custom Number Picker。我将从那开始,只需将控件的布局修改为水平方向。
另一种选择是找到Android 2.3.4 NumberPicker和NumberPickerButton的源代码并复制它。这还需要复制这些控件所需的资源。同样,您需要修改按钮布局以使其水平定向。
我不建议使用API 11或更高版本的NumberPicker。您会发现API 8无法为您提供更多新的类。