1

私のアプリケーションでは、NumberPicker数値を選択して TextView に表示するために a を使用しています。

この件に関して2つ質問がありNumberPickerます。まず第一に、どうすれば のように見える NumberPicker を持つことができimage Bますimage Aか? 画像 B では、それが私の 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();
        }

次に、私のもう 1 つの質問は次のとおりです。NumberPicker に 1000、3000、5000、9000 などの特定の値を設定するにはどうすればよいですか? andを使用するsetMinValuesetMaxValue、1000、1001、1002 などの数字を使用できるためです。

何か案は?

4

2 に答える 2

0

ドキュメントからの引用

  • 現在のテーマがウィジェットから派生しThemeている場合、現在の値が編集可能な入力フィールドとして表示され、上に増分ボタン、下に減分ボタンがあります。ボタンを長押しすると、現在の値をすばやく変更できます。入力フィールドをタップすると、目的の値を入力できます。

  • 現在のテーマがから派生した場合、Theme_HoloまたはTheme_Holo_Light
    ウィジェットが現在の値を編集可能な入力フィールドとして提示し、上に小さい値、下に大きい値を持つ場合。小さい値または大きい値をタップすると、数値軸が上下にアニメーション化されて選択された値が現在の値になります。上下にフリングすると、現在の値の複数の増分または減分が可能になります。小さい値と大きい値を長押しすると、現在の値をすばやく変更することもできます。現在の値をタップすると、
    目的の値を入力できます。

したがって、画像Bの使用Theme.Holo

以下は試していません。使ってみてTheme.holo

長押し時の NumberPicker の増分を変更することはできますか?

于 2013-09-24T09:00:32.537 に答える