2011-01-05 26 views
8

でScrollViewを持ってきたとき、私はこれで活性を有するが、構造をレイアウト: のLinearLayout - > ScrollView - > TableLayoutアンドロイド:windowSoftInputMode = "adjustResize" 私はすでに活動

TableLayout以下

私はのEditTextを持って、私はキーボードがアクティブなときにスクロールアップしたい。 は、だから私は作ったいくつかの読書によると、私が追加:

android:windowSoftInputMode="adjustResize" 

のAndroidManifest.xmlに、関連する活動に、そしてactivity.xmlファイルにScrollViewラッパーを追加、その活動のレイアウト構造次のようになりました: ScrollView - >のLinearLayout - > ScrollView - > TableLayout

問題:内部ScrollViewは現在動作していない...私は...触れたときのラッピングScrollViewが制御を取っていると思います

どうすればこの問題を解決できますか?

ご協力いただければ幸いです。おかげさまで

+0

スクロールビューが別のスクロールビューのどこかに存在しないようにしてください。それをキャプチャすることはできますが、これは必ずしも必要ではありません。私はいくつかのprobを得た。 linearlayout> scrollview> tablelayoutで十分です。内側のスクロールビューは自動的に適切なサイズに調整されます。私はまた、 "stateVisible"をinputModeオプションに追加することをお勧めします –

+1

しかし、私はScrollViewでアクティビティ全体をラップしないと、edittextがクリックされたときにアクティビティのサイズが変更されません...または間違っていますか?私はそれを使わずに試してみましたが、アクティビティはキーボードでスクロールアップされませんでした - キーボードはちょうどEditTextをカバーしました... – ofirbt

答えて

10

仮想キーボードが私の画面上でEditTextsを隠していたのと同じ問題に直面していました。 私はマニフェストファイル内のアクティビティタグの次のプロパティを導入:

android:windowSoftInputMode="stateVisible|adjustResize|adjustPan" 

はまた、私は活動ののOnCreate関数に次のコードを追加する必要:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

これは、問題を解決し、それは完全に罰金働きましたすべての解像度エミュレータとsamsungデバイス。しかし、Google Nexus Sデバイスでは失敗してしまったし、EditTextsを隠している仮想キーボードの同じ問題が再現される可能性がある。

+11

これは少なくとも少し間違っています。 [windowSoftInputModeのドキュメント(http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft)によると、複数の 'adjust'パラメータを設定することはできませんセンス)。 – Timmmm

+2

ドキュメントには、複数の値を設定できないということはありません。結果は定義されていないため、ちょっとしたハックです。 – fejd

+0

これを検索した後、私の 'EditText'入力ラグ問題(最大5秒遅れ)を解決しました。ありがとうございました。 –

関連する問題