ウェブビューをパンではない私が戦っ元の問題はより複雑であるが、目的を調査するために、私は次のようにテストケースを単純化していますAndroidのソフトキーボードが
- シングルフルスクリーンの活動
- プログラムで作成したWebビューその水平方向のスクリーン空間の約半分、垂直方向のスペースの90%を占めるとのonCreateコール内を経由してルートビューに追加される:
ViewGroup parent = (ViewGroup) getWindow().getDecorView().getRootView(); parent.addView(myWebView);
loadUrl("http://google.com")
- のAndroidManifest.xmlは、プロパティを持っています:
"android:windowSoftInputMode="adjustPan"
検索ボックスをクリック
- Web表示は、経由してgoogle.comに開きますGoogleのページ上でキーボードがポップアップしますが、ウェブビューitse lfはadjustPanが発生する必要があるため、上にシフトされません。主なアクティビティにはネイティブのテキストフィールドもあり、クリックするとレイアウト全体(Webビューを含む)が期待通りに上に移動します。
動作はNexus 7とGalaxy Nexusの両方で4.2.2にあります。
私はwindowSoftInputModeプロパティadjustPanをWebビューインスタンスに正しく適用して、ソフトキーボードが表示されているときに、Webビュー全体がキーボードによって占められている垂直方向のスペース分だけ上に移動するようにすることができます。
私はonMeasure内で手動でレイアウトを操作しようとする道を行く前に、これを処理する一貫性のある、より良い方法があるかどうかを見たいと思います。ブラウザは明らかにこの状況を正しく処理するので、Webビューがこれを処理できない理由はわかりません。
注意すべき点は、私が変更できない既存のアーキテクチャーのために、Webビューを全画面または別のアクティビティにすることはできないということです。
私は全く同じ問題があります。私は "adjustResize"を使用することはできません。なぜなら、Webviewを縮小して見栄えが悪いからです。解決策はありますか?最後の段落で、あなたは "一つのことを....変える"と言いました。これらのオプションを説明して他の人(私を含む)が使用できるようにしてください –
私も助けが必要です – DropAndTrap
http://stackoverflow.com/questions/18765610/android-softkeyboard-hiding-textfield-inside-webview – DropAndTrap