2

EditText私が書いたSoftKeyboardのみを使用するように-viewを説得しようとしています。すでに数日間私を悩ませていますが、これが不可能だとは信じられません。当たり前のことが見えないかもしれません...

これまでのところ、Android SDKに付属のサンプルに基づいて、独自のSoftKeyboardを作成することができました。入力方法として手動で選択することができます(ロングクリック、入力方法、*ピック*)。SoftKeyboardは正常に動作し、必要なすべてを実行します。また、コンテキストメニューをクリーンアップして、入力メソッドの変更を禁止しました(明らかに、現在メニューに含める必要があります。そうしないと、SoftKeyboardを選択できません)。

つまり、残っているのはSoftKeyboardをに結び付けることだけですEditText

ime*の-属性の束に気づきましたEditTextが、アクションキーについては何も変更したくないので、これらは私の問題には役立たないようです。inputMethodが必要KeyListenerですが、SoftKeyboardにはありません(私はそれを作成しようとしましたが、クラスローダーに問題があるようです。クラスが見つからない=> ClassNotFoundException)。

誰かが私にいくつかの有用な情報を教えてもらえますか?

4

2 に答える 2

3

私は現在、アプローチを再発明しており、なしで作業しようとしていInputMethodServiceます。サンプルコードは、ユーザー入力を処理するためのリファレンスとして保持しています。基本的には、必要なときにポップアップする単純なビューである必要があります。

さらに調査した結果、アプリ固有のソフトキーボードについて非常に役立つ質問が見つかりました。あなたが私の状況に遭遇した場合は、そこを見てください。

于 2010-11-03T07:22:27.103 に答える
0

これが不可能だとは信じられません

あなたが書いたのは、「手動で選択する」というメモに基づいた入力方式エディターだったと思います。これはグローバル構造であり、ユーザーは必要に応じてインストールして使用することを選択できます。また、入力方式エディターは、ユーザーの裁量で、デバイス内の任意のアプリケーションで使用できます。

アプリケーションコードでは、作成したかどうかに関係なく、特定の入力方式エディターを強制することはできません。

おそらく、あなたができることは、入力メソッドエディタからの同じUIを、アクティビティのある種のポップアップとして使用するように調整することです。たとえば、KeyboardViewハックボーン氏によると、は標準Viewであり、他の方法と同じように使用できます。ユーザーは、あなたの横にあるボタンをタップしてEditText、キーボードUI(たとえば、画面の下から上にアニメーション化されたスライド)などを表示できます。

また、入力メソッドの変更を禁止するためにコンテキストメニューをクリーンアップしました

ユーザーが入力方法を選択できるようにするか、を使用しないでくださいEditText

于 2010-10-21T14:22:53.080 に答える