Pulse Vista de lista cuando aparezca el teclado sin ajustarPan

Estoy tratando de crear una actividad con una vista de lista y un mensaje de envío en la parte inferior. El problema es que cuando se muestra el teclado, en lugar de presionar el contenido del fondo, simplemente lo oculta. Intenté usar AjustPan, pero empuja la vista del agujero hacia arriba (por lo que no hay manera de ver los elementos superiores de la vista de lista y también desaparece la barra de acciones).

Si echa un vistazo a WhatsApp o Line, la funcionalidad es que cuando el último elemento de la lista se muestra en la parte inferior de la pantalla, el teclado empuja la vista de lista (sin quitar la barra de acción ni los primeros elementos de la pantalla). ), y cuando el último elemento de la lista no se muestra (después de algunos desplazamientos hacia arriba), el teclado se oculta en la lista inferior (un ajuste normal de tamaño).

¿Alguien se ocupó de este problema?

Gracias

EDITAR:

Intentaré poner un ejemplo visual:

Así que digamos esto el ListView:

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

El editText no es parte de ListView, sino un LinearLayout alineado en la parte inferior. Cuando se muestra el teclado, el ListView se vuelve así (los elementos 3 y 4 están ocultos por el teclado):

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

y lo que me gustaría obtener es:

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

He probado el android: windowSoftInputMode = "adjustPan". Y el resultado es que los elementos 3 y 4 se empujan hacia arriba y ya no están ocultos por el teclado. El problema es que empuja la vista de lista, pero la empuja fuera de la pantalla, por lo que la barra de acción desaparece, e incluso si intento desplazarme hacia arriba, nunca puedo ver el elemento 1 y 2 con el teclado mostrado.

Espero que me explique, no es realmente fácil ..

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta