studio soft method developer custom android android-listview android-softkeyboard

soft - show keyboard android



Presione Listview cuando aparece el teclado sin ajustarPan (3)

De acuerdo, he encontrado una solución para ti, lo que quieres hacer es básicamente tener el desplazamiento de ListView hacia abajo cada vez. Puedes hacer esto por:

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

Si se trata de una Activity , hágalo en onCreate . Si es un Fragment , hágalo en onViewCreated .

Intento 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 inferior, simplemente lo oculta. Traté de usar adjustPan, pero empuja la vista del agujero hacia arriba (por lo que no hay forma de ver los elementos superiores de la vista de lista y también desaparece la barra de acción).

Si echas 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 sube la vista de lista (sin sacar la barra de acciones ni los primeros elementos de la pantalla) ), y cuando no se muestra el último elemento de la lista (después de algunos desplazamientos hacia arriba), el teclado está oculto en la lista inferior (un ajuste de tamaño normal).

¿Alguien trató este problema?

Gracias

EDITAR:

Trataré de poner un ejemplo visual:

Así que digamos esto el ListView:

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

El editText no es parte del ListView, sino un LinearLayout alineado en la parte inferior. Cuando se muestra el teclado, 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 efectivamente los elementos 3 y 4 son empujados hacia arriba y ya no están ocultos por el teclado. El problema es que empuja la vista de lista, pero la saca de la pantalla, por lo que la barra de acción desaparece, e incluso si intenta desplazarse hacia arriba, nunca puedo ver el elemento 1 y 2 con el teclado que se muestra.

Espero que me haya explicado, no es realmente fácil ...

Gracias


En tu diseño XML:

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


Solución de línea única

list_view.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);