2016-08-12 5 views
1

私は1つのEditTextでアクティビティを持っています。私は自分の操作中にキーボードを表示するための両方のアプローチを使用したい:アクティビティのソフト入力モードを変更する

  1. SOFT_INPUT_ADJUST_PAN
  2. SOFT_INPUT_ADJUST_RESIZE

私はこれを使用します。

  if (something()) { 
       getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 
      } else { 
       getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
      } 

をしかし、それは(変更デバイスの向きを再作成する必要があります)が正常に動作するようにします(第1の条件 - 第2の動作が適切に行われるため、SOFT_INPUT_ADJUST_PANに設定します)。プログラムでそれをどうすればできますか?

+0

両方のフラグをマージするようにしてください: 'getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);' –

答えて

1

私はちょうど私の問題の解決策を見つけました。アンドロイド:この状況では、AndroidManifestのwindowSoftInputMode = "adjustPan"が必要です。私はこれをプログラム的に変更する必要はないと思ったが、そうである。これで追加レクリエーションなしでも正常に動作します。

関連する問題