我有一个 EditText 和一个固定在 RelativeLayout 底部的按钮。
当您单击 EditText 时,软键盘打开,但 EditText 和 Button 消失了,但方式非常奇怪。它们实际上就在那里,因为你可以打字,你也可以按下 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 屏幕。隐藏在键盘下方的按钮仍然响应我在键盘上方的触摸,这很奇怪。