Android EditText, прикрепленный к нижней части RelativeLayout, исчезает на WVGA - PullRequest
1 голос
/ 10 января 2012

У меня есть EditText и кнопка, закрепленная в нижней части 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>

EDIT:

Так что, чем больше я смотрю на это, тем больше это ошибка в движке раскладки. Когда я нажимаю на EditText, я могу видеть, как EditText анимируется вверх до того, как клавиатура его закрывает. Это просто не достаточно высоко. Похоже, что-то связано с широким разрешением экрана. Если я в конечном итоге добавлю поле редактирования в 100 dip, я едва увижу, как оно высовывается над клавиатурой, а 200 dip заставляет его показываться в основном. ОПЯТЬ, это работает на экранах HVGA нормально. Кнопка, спрятанная под клавиатурой, все еще реагировала на мое прикосновение чуть выше клавиатуры, что было странно.

1 Ответ

0 голосов
/ 10 января 2012

Попробуйте установить ScrollView на 0dp вместо fill_parent.fill_parent заставляет его заполнить всю родительскую высоту, таким образом перекрывая test_footer.

...