Drücken Sie Listview, wenn die Tastatur ohne adjustPan angezeigt wird

Ich versuche eine Aktivität mit einer Listenansicht und einer Nachricht unten zu erstellen. Das Problem ist, dass, wenn die Tastatur angezeigt wird, der untere Inhalt nicht verschoben, sondern nur ausgeblendet wird. Ich habe versucht, adjustPan zu verwenden, aber es verschiebt die gesamte Ansicht nach oben (so dass die oberen Elemente der Listenansicht nicht sichtbar sind und auch die Aktionsleiste verschwindet).

Wenn Sie sich WhatsApp oder Line ansehen, besteht die Funktionalität darin, dass die Tastatur die Listenansicht nach oben verschiebt, wenn das letzte Element der Liste am unteren Bildschirmrand angezeigt wird (ohne die Aktionsleiste oder die ersten Elemente aus dem Bildschirm zu entfernen) ), und wenn das letzte Element der Liste nicht angezeigt wird (nach einigem Scrollen nach oben), wird die Tastatur in der unteren Liste ausgeblendet (eine normale adjustResize).

Hat sich jemand mit diesem Problem befasst?

Vielen Dank

BEARBEITEN:

Ich werde versuchen, ein visuelles Beispiel zu geben:

Sagen wir also das ListView:

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

Der editText ist nicht Teil der ListView, sondern ein unten ausgerichtetes LinearLayout. Wenn die Tastatur angezeigt wird, sieht die ListView folgendermaßen aus (Element 3 und 4 werden von der Tastatur ausgeblendet):

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

und was ich gerne bekommen würde ist:

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

Ich habe das Android ausprobiert: windowSoftInputMode = "adjustPan". Das Ergebnis ist, dass die Elemente 3 und 4 effektiv nach oben verschoben und nicht mehr über die Tastatur ausgeblendet werden. Das Problem ist, dass es die Listenansicht verschiebt, sie jedoch aus dem Bildschirm verschiebt, sodass die Aktionsleiste ausgeblendet wird, und selbst wenn ich versuche, einen Bildlauf nach oben durchzuführen, kann ich die Elemente 1 und 2 mit der gezeigten Tastatur nicht sehen.

Hoffe ich habe es mir erklärt, nicht ganz einfach ..

Vielen Dank

Antworten auf die Frage(3)

Ihre Antwort auf die Frage