Push Listview, когда клавиатура появляется без настройкиPan

Я пытаюсь создать мероприятие со списком и отправить сообщение внизу. Проблема в том, что когда клавиатура отображается, вместо того, чтобы нажимать нижнее содержимое, она просто скрывает ее. Я попытался использовать adjustPan, но он выдвигает вид отверстия вверх (так что нет способа увидеть верхние элементы списка, а также панель действий исчезает).

Если вы посмотрите на WhatsApp или Line, то функциональность заключается в том, что, когда последний элемент списка отображается в нижней части экрана, клавиатура подталкивает список (без принятия панели действий или первых элементов из экрана ), и когда последний элемент списка не отображается (после некоторой прокрутки) клавиатура спрятана в нижнем списке (обычная настройкаResize).

Кто-нибудь имел дело с этой проблемой?

благодаря

РЕДАКТИРОВАТЬ:

Я попытаюсь представить визуальный пример:

Итак, скажем, ListView:

---item 1--- ---item 2--- ---item 3--- ---item 4--- ---EditText--- 

Редактирование не является частью ListView, но LinearLayout выровнено внизу. Когда отображается клавиатура, ListView становится подобным (элементы 3 и 4 скрыты клавиатурой):

 ---item 1--- ---item 2--- ---EditText--- ---Keyboard--- 

и я бы хотел получить:

 ---item 3--- ---item 4--- ---EditText--- ---Keyboard--- 

Я пробовал андроид: windowSoftInputMode = “adjustPan”. И результат в том, что эффектно элементы 3 и 4 подталкиваются вверх, а не скрываются клавиатурой. Проблема заключается в том, что он выталкивает список, но он выталкивает его из экрана, поэтому actionBar исчезает, и даже если вы пытаетесь прокрутить вверх, я никогда не увижу Item 1 и 2 с показанной клавиатурой.

Надеюсь, я объяснил себе, не очень-то просто ..

благодаря

Хорошо, я нашел решение для вас, что вы хотите сделать, по существу, каждый раз прокручивать ListView. Вы можете это сделать:

 ListView l = getListView(); l.setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL); l.setStackFromBottom(true); 

Если это действие, сделайте это в onCreate . Если это Fragment , сделайте это в onViewCreated .

В вашем макете XML:

 android:stackFromBottom="true" android:transcriptMode="normal" 

Однолинейное решение

 list_view.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); 
  • В вашем контенте должен быть ListView с атрибутом id 'android.R.id.list'
  • удалить несколько элементов в пользовательском listview
  • Android получает точную позицию прокрутки в ListView
  • Цвет монитора ListView для Android
  • Элемент списка избранных элементов Android ListView выделен
  • Как я могу обновить одну строку в ListView?
  • Обнаружение прокрутки вверх и прокрутка вниз в ListView
  • Android. Как работает метод notifyDataSetChanged () и ListViews?
  • как установить режим выбора для списка с изображениями
  • Как выделить строку в ListView в Android?
  • Удалить элементы ListView на Android
  • Interesting Posts

    Протяните строку с переполнением данных, имея несколько строк в одной полосе

    Добавить кнопку в макет программно

    Сравнение изображений – быстрый алгоритм

    Каковы наилучшие методы использования AES-шифрования в Android?

    Как написать asynchronous метод с параметром out?

    Перемещение GameObject с течением времени

    Как импортировать веб-шрифт Google в файл CSS?

    Почему (русские) символы в некоторых полученных сообщениях меняются при чтении в David InfoCenter?

    Ожидание более чем одной одновременной операции ожидания

    Выбор текста в элементе (сродни подсветке мышью)

    В вашем контенте должен быть ListView с атрибутом id ‘android.R.id.list’

    Используйте awk, чтобы найти среднее значение столбца

    Проблема с Chrome с фиксированными фиксированными элементами фиксированной и фиксированной позиции

    C ++: Может ли макрос расширять «abc» на «a», «b», «c»?

    if (false) vs. while (false): недостижимый код и мертвый код

    Давайте будем гением компьютера.