1

EditText と Button が RelativeLayout の下部に固定されています。

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>

編集:

これを調べれば調べるほど、レイアウト エンジンのバグのようです。EditText をクリックすると、キーボードがカバーする前に EditText が上向きにアニメーション化されるのが実際にわかります。それだけでは十分に高くなりません。ワイドスクリーンの解像度と関係があるようです。編集テキストに 100dip のマージンを入れることになった場合、それがキーボードの上に突き出ているのがほとんど見えず、200dip でほとんど表示されます。繰り返しますが、これは HVGA 画面で問題なく動作します。キーボードの下に隠されているボタンは、キーボードのすぐ上にある私のタッチにまだ反応していましたが、これは奇妙なことでした。

4

1 に答える 1

0

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

于 2012-01-09T23:10:23.187 に答える