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

 

 

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

 

アバター

北川 博之(きーぼー)

みんなのプログラミング by Telulu LLC代表 大阪府生まれ。京都大学経済学部経済学科卒業。 2000年より、日本生命保険、ニッセイアセットマネジメント、パトナム・インベストメンツ(米国)で、日本株トレーダー・アナリスト、経営企画、システム開発等の業務に従事。主に日本株の売買執行・投資分析、経営計画の策定、海外投資家向け日本株営業、社内トレーディングシステム及び経理システムの開発等を行う。 2016年、合同会社てるる設立。スマホアプリプログラマーとして「新感覚脳トレアプリ・記憶戦隊オボエルンジャー」「Meisoー1番シンプルなマインドフルネス瞑想アプリ」をはじめとした、メンタルヘルス・知育系アプリを中心に4タイトル・計8本(Android・iOS)をリリース。 2017年、自身のこれまでの社会人経験・プログラミング経験・子育て経験を基に、プログラミングを通じて人々の人生を豊かにして、未来に希望の持てる明るい社会の実現に貢献したいとの想いから、プログラミング完全初心者と挫折経験のある人を支援する「プログラミング挫折撲滅プロジェクト・みんなのプログラミング by Telulu LLC」を設立し、プログラミングサポーター活動と心理カウンセリング活動を開始。これまでに3,000名を超える方のプログラミング挫折撲滅をサポート。

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

みんプロにかける想い

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

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

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

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

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

みんプロ作成アプリ




みんプロ代表の黒歴史


TOP