在我的应用程序中,我使用 aNumberPicker
来选择数字并将其显示在我的 TextView 中。
NumberPicker
关于这件事,我有两个问题。首先,我怎样才能拥有一个看起来像image B
in的 NumberPicker image A
?在图 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
and setMaxValue
.. 我可以有 1000、1001、1002 等数字。
有任何想法吗?