[Android]EditTextのある画面起動時にソフトキーボードを非表示にする方法(android:windowSoftInputMode)

EditTextのある画面(Activity)を立ち上げたら、、

 

ソフトキーボードが立ち上がってしまって、画面の下のほうが見えへんやんけ~!?

 

といった場合の対処法です。

マニフェストファイルで「windowSoftInputMode=”stateAlwaysHidden”」

マニフェストファイルで、ソフトキーボードを非表示にする設定ができるようなので、

 

該当するActivityタグのところで、

android:windowSoftInputMode="stateAlwaysHidden"

と設定してやればいいそうです。

そうすると、ほ~ら、画面起動時にソフトキーボードが立ち上がらずに、画面全体を見ることができるようになりました。

 

ちなみに、「windowSoftInputMode」はこういうことなんだそうです~。

android:windowSoftInputMode

アクティビティのメイン ウィンドウが、画面上のソフト キーボードを含むウィンドウにどう対処するか。 この属性の設定は、次の 2 つに影響します。

  • ソフト キーボードの状態。アクティビティにユーザーのフォーカスが移ったとき、ソフト キーボードを非表示にするかどうか。
  • アクティビティのメイン ウィンドウの調整。ソフト キーボードのスペースを確保するためにメイン ウィンドウのサイズを変更して小さくするか、ソフト キーボードでウィンドウの一部が隠れたときに現在のフォーカスを表示できるようにコンテンツをパンニングするか。

この設定には、次の表に記載されたいずれかの値か、または “state...” 値と “adjust...” 値を 1 つずつ組み合わせて指定する必要があります。 いずれかのグループで複数の値(複数の “state...” 値など)を設定した場合の結果は不定です。個々の値は垂直バー(|)で区切ります。 次に例を示します。

<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >

ここで設定された値(”stateUnspecified” と “adjustUnspecified” を除く)は、テーマで設定された値をオーバーライドします。

説明
stateUnspecified ソフト キーボードの状態(非表示 / 表示)が指定されていません。 システムは適切な状態を選択するか、テーマの設定に従います。

これはソフト キーボードの動作設定のデフォルトです。

stateUnchanged アクティビティがフォアグラウンドに移動したとき、ソフト キーボードは非表示 / 表示にかかわらず前回の状態を維持します。
stateHidden ユーザーがアクティビティを選択したとき、つまり、ユーザーが別のアクティビティから離れて戻ったのではなく、そのアクティビティを選んで移動したとき、ソフト キーボードは非表示になります。
stateAlwaysHidden アクティビティのメイン ウィンドウに入力のフォーカスがあるとき、ソフト キーボードは常に非表示になります。
stateVisible 一般的に適切なタイミングで(ユーザーがアクティビティのメイン ウィンドウを選んで移動したとき)ソフト キーボードが表示されます。
stateAlwaysVisible ユーザーがアクティビティを選択したとき、つまり、ユーザーが別のアクティビティから離れて戻ったのではなく、そのアクティビティを選んで移動したとき、ソフト キーボードは表示されます。
adjustUnspecified アクティビティのメイン ウィンドウのサイズを変更してソフト キーボードのスペースを確保するか、画面上で現在のフォーカスを表示できるようにウィンドウのコンテンツをパンニングするか、指定されていません。 システムは、ウィンドウのコンテンツにコンテンツをスクロールできるレイアウト ビューが存在するかどうかに応じて、これらのモードのうちいずれかを自動的に選択します。 このようなビューが存在する場合、スクロールによってウィンドウのすべてのコンテンツを小さい領域でも表示できると見なされ、ウィンドウのサイズが変更されます。

これはメイン ウィンドウの動作設定のデフォルトです。

adjustResize 画面上のソフト キーボードのスペースを確保するためにアクティビティのメイン ウィンドウは常にサイズが変更されます。
adjustPan 画面上のソフト キーボードのスペースを確保するためにアクティビティのメイン ウィンドウのサイズは変更されません。 代わりにウィンドウのコンテンツは自動的にパンニングされ、現在のフォーカスがキーボードで隠されることがないため、ユーザーは入力中の内容を常に見ることができます。 一般にこの方法はサイズ変更に比べると望ましくありません。ユーザーがソフト キーボードを閉じて、ウィンドウの隠れた部分を操作する必要が生じる可能性があるためです。

 

 

(詳しくは下の動画で解説していますので、よろしければご覧ください)

 

こんな記事も読まれています

みんプロにかける想い

  1. プログラミングは手段の1つに過ぎない(目的は自分のアイデアを形にすること)

  2. プログラミングを通じて「やわらかい世の中」を作りたい(ぼくがプログラミング講座をやっている本当の理由②)

  3. ぼくが別に言う必要のない挫折の黒歴史をあえてさらけ出している理由(自分の中にある「ブロック」を外すきっかけにしてほしい)

  4. こんな無駄な苦労をするのはぼくで最後にしたい(ぼくがプログラミング講座をはじめたわけ)

  5. プログラミングはみんなのもの!(プログラミングの醍醐味である「楽しさ」を伝えたい)

みんプロ作成アプリ




みんプロ代表の黒歴史


TOP