在我的应用程序中,我使用NumberPicker
来选择数字并在TextView中显示它。
关于这个NumberPicker
事,我有两个问题。首先,
如何在image B
中使用看起来像image A
的NumberPicker?在图像B中,这就是我想象的我的NumberPicker。到目前为止,这就是我所做的:
我的NumberPicker布局:
<NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="64dp" />
<LinearLayout
...>
<Button
android:id="@+id/btn_set"
android:text="Set" />
<Button
android:id="@+id/btn_cancel"
android:text="Cancel" />
</LinearLayout>
然后这是我的活动:
public void onSomethingButtonClickedToShowDiaolg(View view){
final Dialog dialog = new Dialog(MyActivity.this);
dialog.setContentView(R.layout.number_selector);
Button btnSet = (Button) dialog.findViewById(R.id.btn_price_set);
Button btnCancel = (Button) dialog.findViewById(R.id.btn_price_cancel);
final NumberPicker numberPicker = (NumberPicker) dialog.findViewById(R.id.numberPicker);
String[] values = {"5000", "10000", "15000", "20000"};
numberPicker.setDisplayedValues(values);
numberPicker.setWrapSelectorWheel(false);
numberPicker.setOnValueChangedListener(new OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
// TODO Auto-generated method stub
System.out.println("set number: : " + newVal);
}
});
btnSet.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
然后,我的另一个问题是:如何在我的NumberPicker中设置某些值,如... 1000,3000,5000,9000?因为如果我使用setMinValue
和setMaxValue
..我的数字可以是1000,1001,1002 ......等等。
有什么想法吗?
答案 0 :(得分:0)
从文档引用
如果当前主题派生自Theme
,则小部件会显示
当前值作为带有增量按钮的可编辑输入字段
上面和下面的减量按钮。长按按钮允许
快速更改当前值。点击输入字段
允许输入所需的值。
如果当前主题源自Theme_Holo
或Theme_Holo_Light
小部件将当前值显示为可编辑的输入字段
上面的值较小,下面的值较大。点击较小的
或更大的值通过向上或向下设置数字轴的动画来选择它,以使所选值为当前值。向上或向下投掷允许当前值的多个增量或减量。长按较小和较大的值也可以快速更改当前值。点击当前值允许输入
期望值。
因此对于图像B使用Theme.Holo
我没试过以下。尝试使用Theme.holo
Is it possible to change the increment of NumberPicker when long pressing?
答案 1 :(得分:0)
您可以参考此library来自定义android中的任何视图/小部件。