2010-12-30 11 views
8

私はthis私の問題に間違いなく役立つ古い投稿が見つかりましたが、実際には私の問題を解決するようではないことに気付いています。私はアンドロイドを設定する必要があることを知りました:windowSoftInputMode = "adjustPan"しかし、問題はそれが単にぱっとしないことです。EditTextフィールドでソフトキーボードオーバーラップ

テキストフィールドはビューの一番下にあり、キーボードが表示されると、ビューはわずかにシフトしますが、EditTextの一番上に移動します。テキストフィールドにはオートコンプリートがオンになっており、オートコンプリートオプションが表示されると、ビューはわずかにパンされますが、実際にオートコンプリートオプションによって隠されてしまいます。あなたが入力しているものは見えないので、テキスト入力フィールドは非常に使いにくいものになります。

複数行の入力フィールドです。テキストが次の行に移動すると、ビューはさらに大きく移動し、実際にはテキストの前の行が表示されます。しかし、あなたはあなたが入力しているものを見ることができません。それはかなり重要だと思います。

誰でもこの問題を解決するための考えがありますか?

+0

私が持っていた最善のアイデアは、その上のフィールドを「見えない」または「消えた」ようにすることですが、それは間違いなく理想的な解決策です。フォボスのおかげで、ありがとうございました。残念なことに、その解決策はすべて私が焦点を保持しようとしている分野を縮小しています。これは私が探しているものではありません。 –

答えて

10

私はこの問題の原因と思われるものを見つけました。私のAndroidManifest.xmlでは、私は「4」以下minSdkVersionがを使用して、どうやら

<uses-sdk android:minSdkVersion="3" /> 

を設定していた問題の根本にありました。 "4"に変更すると、レイアウトが表示されるはずで、EditTextの最初の行がソフトキーボードの上に適切に表示されていました。

助けてくれてありがとう、Phobos。

+0

うわー、このヒントありがとう!私はそれなしでそれを見つけたことはありませんでした。 –

+0

完璧な解決策、私が持っていた正確な問題 –

+1

私は同じ問題があります。私のレイアウトは7つのテキストを編集し、画面の上部にはボタンがあり、画面の下部には別のボタンがあります。AndroidManifestファイルのアクティビティでとandroid:windowSoftInputMode = "adjustPan"を使用しましたが、ソフトキーボードを開いてボトムボタンに移動しようとすると、見る。私の全体のレイアウトは、相対レイアウトを使用して行われます。 2番目の編集テキストをクリックしてソフトキーボードを開いた場合(2番目の値を設定し、次にボトムボタンをクリックしたい場合)、ボトムボタンを表示するにはどうすればよいですか。 –

3

UIをScrollViewコンテナにラップします。これにより、必要であればスクロールするだけでUI全体を見ることができます。画面上のキーボードなしでスクロールするにはUIが十分に大きくないかもしれませんが、キーボードが表示されると画面サイズが効果的に縮小されます。

+0

私は間違っているかもしれませんが、私のlayout.xmlファイル全体はRelativeLayoutです。 RelativeLayoutをScrollView内にラップすることを提案している場合(つまり、?)、私はそれを試みましたが、成功しませんでした。それはまったく同じように見える。それは、私が使っているパラメータ、またはそのようなものかもしれませんが、それは同じように見えます。高さ/幅にmatch_parentを使用せず、fillViewPort = "true"にすると、クラッシュが発生するか、レイアウトが正しく表示されなくなります。私が行方不明のものは何ですか? –

+1

ScrollViewでレイアウトをラップした後、adjustPanを無効にします。メインUIにEditTextsがあるときはいつでも、私はこのアプローチを使用します。私は、何らかのフォームUIを作成しているときに、TableLayoutが私のために最適に機能することを発見しました。私はあなたのレイアウトが何であるか知りませんが、それを見てください。 RelativeLayoutが機能しない場合は、TableLayoutで操作できるかどうかを確認してください。 – Phobos

+0

残念ながら、問題のEditTextフィールドは特定の高さに設定されていないため、動作していないようです。高さは "match_parent"(レイアウトの '残りのスペース'を埋めるため)に設定され、そのサイズは上記のViewとViewの相対サイズに基づいています。では、adjustPanの代わりにadjustResizeを使用すると、表示可能領域にスクロールされるのではなく、フィールドが縮小してほとんど消えます。 –

関連する問題