EditTextのある画面(Activity)を立ち上げたら、、
ソフトキーボードが立ち上がってしまって、画面の下のほうが見えへんやんけ~!?
といった場合の対処法です。
マニフェストファイルで「windowSoftInputMode=”stateAlwaysHidden”」
マニフェストファイルで、ソフトキーボードを非表示にする設定ができるようなので、
該当するActivityタグのところで、
android:windowSoftInputMode="stateAlwaysHidden"
と設定してやればいいそうです。
そうすると、ほ~ら、画面起動時にソフトキーボードが立ち上がらずに、画面全体を見ることができるようになりました。
ちなみに、「windowSoftInputMode」はこういうことなんだそうです~。
Declares an activity (an Activity subclass) that implements part of the application's visual user interface. All activities must be represented by {@code } elements in the manifest file. Any that aren't declared there aren't seen by the system…
android:windowSoftInputMode
アクティビティのメイン ウィンドウが、画面上のソフト キーボードを含むウィンドウにどう対処するか。 この属性の設定は、次の 2 つに影響します。
- ソフト キーボードの状態。アクティビティにユーザーのフォーカスが移ったとき、ソフト キーボードを非表示にするかどうか。
- アクティビティのメイン ウィンドウの調整。ソフト キーボードのスペースを確保するためにメイン ウィンドウのサイズを変更して小さくするか、ソフト キーボードでウィンドウの一部が隠れたときに現在のフォーカスを表示できるようにコンテンツをパンニングするか。
この設定には、次の表に記載されたいずれかの値か、または “
state...
” 値と “adjust...
” 値を 1 つずつ組み合わせて指定する必要があります。 いずれかのグループで複数の値(複数の “state...
” 値など)を設定した場合の結果は不定です。個々の値は垂直バー(|
)で区切ります。 次に例を示します。<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >ここで設定された値(”
stateUnspecified
” と “adjustUnspecified
” を除く)は、テーマで設定された値をオーバーライドします。
値 説明 “ stateUnspecified
“ソフト キーボードの状態(非表示 / 表示)が指定されていません。 システムは適切な状態を選択するか、テーマの設定に従います。 これはソフト キーボードの動作設定のデフォルトです。
“ stateUnchanged
“アクティビティがフォアグラウンドに移動したとき、ソフト キーボードは非表示 / 表示にかかわらず前回の状態を維持します。 “ stateHidden
“ユーザーがアクティビティを選択したとき、つまり、ユーザーが別のアクティビティから離れて戻ったのではなく、そのアクティビティを選んで移動したとき、ソフト キーボードは非表示になります。 “ stateAlwaysHidden
“アクティビティのメイン ウィンドウに入力のフォーカスがあるとき、ソフト キーボードは常に非表示になります。 “ stateVisible
“一般的に適切なタイミングで(ユーザーがアクティビティのメイン ウィンドウを選んで移動したとき)ソフト キーボードが表示されます。 “ stateAlwaysVisible
“ユーザーがアクティビティを選択したとき、つまり、ユーザーが別のアクティビティから離れて戻ったのではなく、そのアクティビティを選んで移動したとき、ソフト キーボードは表示されます。 “ adjustUnspecified
“アクティビティのメイン ウィンドウのサイズを変更してソフト キーボードのスペースを確保するか、画面上で現在のフォーカスを表示できるようにウィンドウのコンテンツをパンニングするか、指定されていません。 システムは、ウィンドウのコンテンツにコンテンツをスクロールできるレイアウト ビューが存在するかどうかに応じて、これらのモードのうちいずれかを自動的に選択します。 このようなビューが存在する場合、スクロールによってウィンドウのすべてのコンテンツを小さい領域でも表示できると見なされ、ウィンドウのサイズが変更されます。 これはメイン ウィンドウの動作設定のデフォルトです。
“ adjustResize
“画面上のソフト キーボードのスペースを確保するためにアクティビティのメイン ウィンドウは常にサイズが変更されます。 “ adjustPan
“画面上のソフト キーボードのスペースを確保するためにアクティビティのメイン ウィンドウのサイズは変更されません。 代わりにウィンドウのコンテンツは自動的にパンニングされ、現在のフォーカスがキーボードで隠されることがないため、ユーザーは入力中の内容を常に見ることができます。 一般にこの方法はサイズ変更に比べると望ましくありません。ユーザーがソフト キーボードを閉じて、ウィンドウの隠れた部分を操作する必要が生じる可能性があるためです。
(詳しくは下の動画で解説していますので、よろしければご覧ください)