web-dev-qa-db-ja.com

アプリケーションの読み込み時にソフトキーボードを非表示にする

メインビューにEditText要素を持つアプリケーションがあります。つまり、アプリケーションがロードされると、デフォルトでソフトキーボードが表示されます。

ロード時にキーボードを非表示にしたいので、EditTextビューをタップするまでキーボードは表示されません。

これをどのように管理しますか?

34
Esben Andersen

もっと簡単なことができます。これをLinearLayout(またはルートであるその他のレイアウト)に追加します。

<LinearLayout
...
Android:focusable="true"
Android:focusableInTouchMode="true"
...
/>
29
neteinstein

あなたのAndroidManifest.xml

<activity Android:name="com.your.package.ActivityName"
          Android:windowSoftInputMode="stateHidden"  />

windowSoftInputModeの詳細については here を参照してください。

この設定は、ユーザーが新しいアクティビティを入力するとソフトキーボードを非表示にします(EditTextコントロールがフォーカスを取得した場合でも)。ソフトキーボードは、ユーザーが編集ボックスコントロールをクリックしたときにのみ表示されます。

84
inazaruk
InputMethodManager imm = 
    (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);

これは、すべての状況で非表示になります(EditViewにフォーカスがある場合でも)。

 EditText editView = (EditText) findViewById(R.id.editTextConvertValue);
 editView.setInputType(InputType.TYPE_NULL);
5
John Cooper