У меня есть EditText и кнопка, прикрепленная к нижней части RelativeLayout.Android EditText прикреплен к нижней части RelativeLayout dissapears на WVGA
Когда вы нажимаете на EditText, открывается мягкая клавиатура, но EditText и Button disspear, но ОЧЕНЬ странным образом. Они на самом деле там, потому что вы можете печатать, и вы также можете нажать, где кнопка должна быть чуть выше клавиатуры, и она реагирует на прикосновение, но ... вы их не видите.
Не знаете, почему, но похоже, что это может быть специфично для разрешения экрана? Его сломал мой 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. Кнопка, скрытая под клавиатурой, все еще реагировала на мое касание чуть выше клавиатуры, что было странно.
Недостаточно точек для самостоятельного ответа, но я нашел проблему: Проблема заключалась в том, что по умолчанию softInputMode для операции, похоже, имеет ошибку (вероятно, связанную с широкоэкранным). Если вы переключите его на «adjustResize», он будет работать точно так же, как и ожидалось! – Paul