NextLeap blog

【Android】入力欄がソフトキーボードの下に隠れて困っていませんか?

EditTextへの入力時には、ソフトキーボードにあわせて画面を簡単にスライドさせることができます


Androidの開発において、ユーザに入力してもらうような画面を作成したりするかと思います。入力項目が増えたり、チャットのように入力画面が画面下にレイアウトさせたりした場合、ソフトキーボードが表示されると、入力画面が隠れてしまいます。目隠しでの入力はとても難しいんです。。。そんな場合は、AndroidManifestに変更を加えると解決します

AndroidManifestの変更

該当するActivityに下記の設定を追加します。Fragmentを使っていた場合においても、ベースとなるActivityに設定すればOKです

	
    <activity
        android:windowSoftInputMode="stateVisible|adjustPan">
    </activity>
				    
 

Activityのコード変更

AndroidManifestの設定をするだけで、画面がスライドし、ソフトキーボードの下に入力箇所が隠れるという問題は解決!・・・するのですが、新しい問題が生じます。それは、AndroidManifestに記述を追加したActivityにおいて、起動時になぜかソフトキーボードが表示されてしまうのです。その場合は対象Activityの"onCreate"時に、下記のおまじないを呼ぶようにしておきましょう

	
        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
				    

今回は、簡単なTipsでした