0

いくつかの質問を見て、いくつかの投稿に出くわしましたが、これを行う方法がわかりません。

次の図は、基本的なレイアウトを示しています。 ここに画像の説明を入力

カスタムテンキーを作成し、レポに配置しました。

現在、アプリを開くと、編集テキストにフォーカスがありますが、キーボードで入力したものはすべて edittext ボックスに入ります。機能のこの部分は正常に動作します。

問題: edittext をもう一度タッチすると、巨大なキーボードを備えたシステム入力メソッドがポップアップします。ポップアップを完全にブロックするにはどうすればよいですか?または、システムのキーボードではなく自分のキーボードのみを使用するようにアプリに指示できますか? (または、カスタム ime を記述する唯一の方法ですか?)

マニフェストで NULL 型の入力を使用することはできません。これを行うと、編集テキストのキャレットが消え、さらに編集テキストが 2 つある場合、どちらがフォーカスされているかがわからないためです。

どんな助けでも大歓迎です!

4

1 に答える 1

1

いくつかのことができます:

  1. アプリ全体でプログラムで非表示にします。

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    
  2. アタッチされるビューから非表示にします。

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);
    
  3. EditText の入力タイプを 0 に設定します。

    EditText yourEditText=(EditText)findViewById(R.id.editTextConvertValue);
    yourEditText.setInputType(0);
    
于 2012-06-07T19:18:31.877 に答える