メインビューにEditText
要素を持つアプリケーションがあります。つまり、アプリケーションがロードされると、デフォルトでソフトキーボードが表示されます。
ロード時にキーボードを非表示にしたいので、EditText
ビューをタップするまでキーボードは表示されません。
これをどのように管理しますか?
もっと簡単なことができます。これをLinearLayout(またはルートであるその他のレイアウト)に追加します。
<LinearLayout
...
Android:focusable="true"
Android:focusableInTouchMode="true"
...
/>
あなたのAndroidManifest.xml
:
<activity Android:name="com.your.package.ActivityName"
Android:windowSoftInputMode="stateHidden" />
windowSoftInputMode
の詳細については here を参照してください。
この設定は、ユーザーが新しいアクティビティを入力するとソフトキーボードを非表示にします(EditTextコントロールがフォーカスを取得した場合でも)。ソフトキーボードは、ユーザーが編集ボックスコントロールをクリックしたときにのみ表示されます。
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);