上部に1つの大きなEditTextビューがあり、下部に一連のボタンがあるレイアウトがあります。EditTextは、adjust_resizeを使用してimeをアクティブ化/非アクティブ化すると、縮小および拡大されます。下部のボタンは、imeの上に押し上げられます。
EditTextビューに十分なスペースを提供するために、imeが表示されたときにこれらのボタンを非表示にします。
私はこれまでに次のことを試しました:
EditTextをサブクラス化し、ビューのOnSizeChangedにコールバックを登録するオプションをアクティビティに提供しました。
このコールバックを使用して、ボタン(実際にはレイアウトコンテナ)の表示をGONEに変更しました。
これは問題なく動作し、imeがポップアップしたときにボタンを非表示にします。ただし、EditTextは新しい使用可能なスペースに拡張されません。さらに、imeが破棄されると、EditTextフィールドが元のフィールドよりも大きくなり、画面の外側にある(現在表示されている)ボタンが押されます。
また、ビューに最初の文字を入力すると、imeに単語オプションが表示され、画面が再描画され、EditTextが空のスペースを埋めます。
これを機能させる方法について何かアイデアはありますか?またはさらに良いことに、私の要件に対するより簡単な解決策はありますか?
ありがとう...
注意:私の見解では、スクロールは適切なオプションではありません。