4

重複の可能性:
Android API 7でNumberPickerをどのように実装しますか?

0から12の範囲の小さな整数を選択する必要があります。これを行うためのUIのスペースは制限されており、高さよりも広くする必要があります。これを可能にするAPI8で利用可能なウィジェットはありますか?

編集:前のSO質問の重複の可能性。密接に関連する質問を見ましたが、A)「風景の向き」の制限がなく、B)API 11からコードをコピーできるという提案には、正確な方法の説明が続きませんでした。

4

2 に答える 2

9

最も簡単な (しかし最も醜い) のは、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 で、id が bAdd と bSub の 2 つのボタンと、id が tvDisplay のテキストビューを追加して、好きなように配置します。

于 2012-09-05T13:26:10.340 に答える
1

このカスタム番号ピッカーを見てみてください。それから始めて、コントロールのレイアウトを水平方向に変更するだけです。

もう1つのオプションは、Android 2.3.4 NumberPickerおよびNumberPickerButtonのソースコードを見つけて、それをコピーすることです。これには、これらのコントロールに必要なリソースをコピーする必要もあります。ここでも、ボタンのレイアウトを変更して水平方向に配置する必要があります。

API11以降のNumberPickerの使用はお勧めしません。API 8では利用できない新しいクラスには、多数の依存関係があることがわかります。

于 2012-09-05T14:14:07.050 に答える