1

EditTextユーザーが日付を入力する必要がある場所があります。日付の選択には、カスタム ホイール ビュー (iOS など) があります。をクリックするとdate EditText、下から引き出しのようなソフトキーボードを開き、そのホイールビューをその中に入れたいと思います。

ソフト キーボードをホイール ビューに置き換えることはできますか? containerつまり、キーボードを保持する which は、私の custom を保持する必要がありますwheel view

それを達成する方法はありますか?または、私の目的のための他のより良いオプションはありますか?

4

3 に答える 3

1

要件と、どの程度再利用できるようにするかによって異なります。

簡単な方法として、そのホイール ピッカーをホストするビューを作成して、ルート レイアウトの下部に配置し、アニメーションで表示/非表示にすることができます。

まず、編集テキストの onTouchListener をオーバーライドし、イベントを消費して、そこで必要なことを行います。

editText.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch (View v, MotionEvent event) {
        //Show the wheely wheel.
        return true; //Consume the event.
    }
 });
于 2012-11-20T09:45:46.460 に答える
1

1) を使用する必要がある場合はEditText、入力タイプを正しく設定することで、キーボードが表示されないようにすることができます。他の答えはすでにそれについて言及しています。

2) しかしEditText、特にここではキーボードを使用して値を入力していないため、ここで使用する理由. を使用できTextView、(日付ピッカーを含む) を上向きonClickListenerにアニメーション化できます。LinearLayout

yourTextView.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
        //Animate a LinearLayout containing a DatePicker
        animateDatePickerView();
    }
});
于 2012-11-20T09:44:32.453 に答える
0

私の個人的な考え(テストされていません)

  • edittext がフォーカスされているときにキーボードを表示しないようにします。例えば、setInputType(InputType.TYPE_NULL);
  • ホイールを含むカスタマイズされたアクティビティを使用し、それをダイアログとして表示します (テーマをダイアログとして設定)。
于 2012-11-20T09:39:44.980 に答える