Androidにはソフトウェアキーボードの表示/非表示のを検出するようなイベントは用意されていない。 調べてみると、ソフトウェアキーボードが表示された時にActivityのサイズが変わることを使ってそのON/OFFを検知するのが一般的なようだ。 ありがたいことに、以下のページで、ソフトキーボードの表示/非表示を検出するクラス(DetectableKeyboardEventLayoutクラス)が公開されている。 Android のソフトウェアキーボード表示・非表示を検出する このDetectableKeyboardEventLayoutクラスはLinearLayoutを継承しているので、キーボードのON/OFFを検知するクラスのレイアウトのルートにこのクラスを挿入してやれば簡単にキーボード表示/非表示時のイベントを取得できる。 <package.DetectableKeyboardEvent