1

私はEditTextとButtonをRelativeLayoutの下部に固定しています。Android EditTextはRelativeLayoutの下部に固定されており、WVGAで消滅します

EditTextをクリックすると、ソフトキーボードが開きますが、EditTextとButtonはディスプレイされますが、非常に奇妙な方法です。あなたがタイプすることができるので、実際にそこにあります。そして、ボタンがキーボードの真上にあるべき場所を押して、タッチに反応しますが、実際に見ることはできません。

理由はわかりませんが、これは画面の解像度に固有のようですか?それは私のNexusOneで壊れていましたが、私のLS670で動作します。 WVGA800のエミュレータで壊れたが、HVGAで動作する。

私ははるかに複雑layout.xmlがあったが、私はこの単純な場合にそれを煮詰めるために管理:

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/test_view" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 


     <EditText 
      android:id="@+id/test_text" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentBottom="true" 
      android:layout_toLeftOf="@+id/test_textButton" 
      /> 

     <Button 
      android:id="@id/test_textButton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:text="OK"/> 

</RelativeLayout> 

はEDIT:

ので、より多くの私はこれに見て、ために表示されますレイアウトエンジンのバグ。私がEditTextをクリックすると、キーボードがそれをカバーする前に、実際にEditTextがアニメーション化されているのを見ることができます。それだけではそれを十分に高くすることはできません。これは、ワイドスクリーンの解像度と関係があるように見えます。エディットテキストに100dipの余白を置くと、それはキーボードの上を突き抜けて見えるだけで、200dipはほとんどの場合それを表示します。もう一度、これはHVGAの画面でうまく動作します。キーボードの下に隠れていたボタンは、まだキーボードの上の私のタッチに応答していましたが、それは奇妙でした。

+0

自己回答に十分なポイントがありませんが、問題が見つかりました: 問題は、アクティビティのデフォルトのsoftInputModeにバグがあるようでした(おそらくワイドスクリーンに関連しています)。それを "adjustResize"に切り替えると、期待どおりに動作します! – Paul

答えて

0

fill_parentの代わりに0dpにScrollViewを設定してみてください。 fill_parentは親の高さ全体を埋めるため、test_footerをオーバーラップさせています。

+0

もっと簡単なテストケースに煮詰めてしまったので、私の質問を再編集しました。ご覧のとおり、そこにはたくさんのものがありません。 TextViewとButtonは実際には存在するため、レイアウトのパースペクティブからは何も隠されていません。あなたはそれらを見ることはできません。彼らは、それらを見なければならないタッチイベントに応答する。 – Paul

+0

OK ...同じことが適用されます。 EditTextの幅は 'fill_parent'に設定されています。したがって、EditTextの幅は、驚くことに親の幅を塗りつぶします。 EditTextのlayout_width属性の 'fill_parent'を0dpに置き換えてみてください。 – kabuko

+0

私はあなたの変更を試みましたが、違いはありません。 EditTextをクリックする前に、ButtonとEditTextのレイアウトが正常に表示されます。 EditTextをクリックすると、ソフトキーボードがポップアップし、EditTextとButtonの両方が消えますが、実際に触れると応答します。ここでも、これはHVGAではなくWVGA画面にのみ影響します。本当に私のレイアウトコードの間違いではなく、レイアウトレンダリングのバグのようなものです。私は誰かがこれに遭遇した可能性があり、回避策があることを望んでいました。 – Paul

関連する問題