私はチタンを使ってアプリを書いています。テキスト フィールド以外の何かがクリックされるたびに、キーボードを自動的に閉じることができるようにしたいと考えています。この問題のエレガントな解決策をまだ見つけていません。
私が考えたことがいくつかありますが、まだより良い解決策を探しています:
- 基本的に、ビューに表示されるその他すべてにイベント リスナーを割り当て、キーボードを閉じます ( を使用
textField.blur()
)。キーボードを閉じるだけで大量のコードが発生するため、これは避けたいと思います。また、ビューに何か他のものを追加することになった場合、そのオブジェクトにもクリック リスナーを追加する必要があるため、保守性があまり高くありません。 - 大きな透明なビューを作成し、それを画面全体に表示します。テキストフィールドの真下に配置し、キーボードを閉じるワンクリックリスナーを追加します。これは #1 よりも優れた解決策ですが、zIndex を適切に機能させるのに多くの問題があったため、まだ優れているとは言えません。テキストフィールドをカプセル化する特定の幅と高さを持つビューがあるため、私の目的にも非効率的です。コードを簡素化するためにこれらを使用しており、アプリケーション全体で再利用しています。
- テキスト フィールドの「blur」イベントのリスナーを追加しようとしましたが、適切に起動されないようです。
それはそれについてです。私は途方に暮れています。zIndexing は iPhone でもおかしな動作をします。Android ではまだ試していません。また、上で述べたように、私が使用するテキスト フィールドの多くは、幅と高さが設定された小さなビュー内にカプセル化されているため、Z インデックスの機能に影響すると思います。
根本的な質問は次のとおりです:フォーカスされているテキスト フィールド以外の何かがクリックされるたびに、キーボードを閉じる最善の方法は何ですか?