我需要在 0 到 12 范围内选择一个小整数。我的 UI 中的空间是有限的,并且必须比高度宽。API 8 中是否有可用的小部件允许我执行此操作?
编辑:重新可能重复以前的 SO 问题。我看到了一个密切相关的问题,但是 A)它没有“横向”限制和 B)关于可以从 api 11 复制代码的建议没有跟进具体如何做的解释。
我需要在 0 到 12 范围内选择一个小整数。我的 UI 中的空间是有限的,并且必须比高度宽。API 8 中是否有可用的小部件允许我执行此操作?
编辑:重新可能重复以前的 SO 问题。我看到了一个密切相关的问题,但是 A)它没有“横向”限制和 B)关于可以从 api 11 复制代码的建议没有跟进具体如何做的解释。
最简单(但也是最难看的)是带有 inputtype 编号的 edittext。
但是从头开始制作一个数字选择器并不难。
您只需要一个将变量作为文本的 Textview。添加一个 + 和 - 按钮,增加/减少变量并调用 Textview.setText(variable)
final int[] counter = {0};
Button add = (Button) findViewById(R.id.bAdd);
Button sub = (Button) findViewById(R.id.bSub);
TextView display = (TextView) findViewById(R.id.tvDisplay);
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
counter[0]++;
display.setText( "" + counter[0]);
}
});
sub.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
counter[0]--;
display.setText( "" + counter[0]);
}
});
在 xml 中只需添加 2 个 id 为 bAdd 和 bSub 的按钮以及一个 id 为 tvDisplay 的 textview 并按照您的意愿排列它们
试试看这个Custom Number Picker。我将从这个开始,简单地将控件的布局修改为水平方向。
另一种选择是找到 Android 2.3.4 NumberPicker 和 NumberPickerButton 的源代码并复制它。这还需要复制这些控件所需的资源。同样,您需要将按钮布局修改为水平方向。
我不建议使用 API 11 或更高版本的 NumberPicker。您会发现 API 8 无法使用的新类有很多依赖项。