1

У меня есть 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. Кнопка, скрытая под клавиатурой, все еще реагировала на мое касание чуть выше клавиатуры, что было странно.

+0

Недостаточно точек для самостоятельного ответа, но я нашел проблему: Проблема заключалась в том, что по умолчанию softInputMode для операции, похоже, имеет ошибку (вероятно, связанную с широкоэкранным). Если вы переключите его на «adjustResize», он будет работать точно так же, как и ожидалось! – Paul

ответ

0

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

+0

Я повторно отредактировал свой вопрос, потому что мне удалось сварить его до более простого теста. Как вы можете видеть, там не так много. Ничто не скрывается от перспективы компоновки, потому что TextView и Button действительно в действительности. Вы просто не можете их видеть. Они реагируют на события касания, где их следует рассматривать. – Paul

+0

OK ... такой же предмет применяется. У вас есть EditText, ширина которого установлена ​​на 'fill_parent'. Поэтому ширина EditText неудивительно заполняет ширину родителя. Попробуйте заменить 'fill_parent' в атрибуте layout_width в EditText на 0dp. – kabuko

+0

Я пробовал ваши изменения, и это не имеет значения. Макет как Button, так и EditText выглядит отлично, прежде чем нажимать на EditText. Как только я нажимаю на EditText, появляется всплывающая подсказка, и как EditText, так и кнопка «исчезают», но на самом деле там, потому что они реагируют на касание. Опять же, это влияет только на экраны WVGA, а не на HVGA. На самом деле кажется какой-то ошибкой в ​​макете, а не ошибкой в ​​моем макете. Я надеялся, что кто-то, возможно, столкнулся с этим и будет работать. – Paul

Смежные вопросы