2012-09-14 13 views
12

Tengo una actividad con un formulario. Debido a que el formulario es bastante largo, he usado una vista de desplazamiento.Ajustar la vista de desplazamiento cuando el teclado está activo

El problema es que la vista de desplazamiento no cambia cuando el teclado está activo. El teclado se superpone a la última parte de la vista de desplazamiento.

¿Cómo puedo asegurarme de que el teclado esté debajo de la vista de desplazamiento y que la vista de desplazamiento esté ajustada para que coincida con el espacio que está sobre ella?

Mientras tanto, ¿hay alguna manera de asegurarse de que los botones 'anterior' y 'siguiente' estén en el teclado también?

Respuesta

13

En el archivo de manifiesto de la aplicación, añada lo siguiente a la deseada <activity /> -

android:windowSoftInputMode="stateAlwaysHidden|adjustResize|adjustPan" 
+10

De acuerdo con la documentación de Android utilizando múltiples 'estado *' o 'ajustar resultados *' valores ha indefinido. Debería usar valores de "un estado", "un ajuste" o "un estado y un ajuste". – Octavian

9

Es necesario añadir androide: windowSoftInputMode = "adjustResize" en el archivo AndroidManifest.xml.

3

si utiliza fragmento, sólo tiene que utilizar el código para controlarlo, como a continuación

context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

1

Para ScrollView, me gusta utilizar el siguiente modo de entrada de software para la Activity en el archivo AndroidManifest.xml :

android:windowSoftInputMode="adjustPan" 

Esto funciona mejor para mí de las otras opciones.

0

Añadir debajo de la línea de código en el manifiesto bajo la etiqueta Actividad

android:windowSoftInputMode="adjustResize" 
Cuestiones relacionadas