読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

タブレイアウトとEditTextを使って、キーボード表示したままタブを使って遷移したら画面崩れてしまった件の修正方法

概要

ソフトウェアキーボードが表示されるとAndroidがキーボード分画面サイズを小さくしてくれる
その際、以下の条件を満たすと画面が崩れたりする

  • タブレイアウト
  • キーボードが表示されたまま
  • タブを使って画面遷移
  • その後元の画面に戻る

具体的には、画面サイズを小さくしたままになってしまっている(キーボード出てないのに)

対策

対応するActivityのManifestに以下の記述し、リサイズしないようにする

android:windowSoftInputMode="adjustPan"

fragment単位でも設定できる
Window | Android Developers

今回の場合、リサイズしないようにすることで解決したが、リサイズしてほしいかつ、元画面に戻ったときにちゃんとした画面サイズにしたい場合は動的にLayoutのサイズを決定する必要があると思う。

参考
Y.A.M の 雑記帳: Android Onscreen Input Methods