2012-10-03 29 views
9

En mi aplicación, uso varios textos de edición y vistas de texto y de lista. Ahora mi problema es mi teclado aparece nuevamente en el cambio de orientación. Idealmente, cuando el usuario minimiza el teclado, debe estar en un estado minimizado cuando el dispositivo está inclinado. Pero reaparece. ¿Cómo manejamos esta situación?Problemas del teclado que surgen en el cambio de orientación

Mi otro problema es que uno de mis textos de edición es algo que aparece al final de la pantalla. Cuando aparece el teclado, oculta el texto de edición. para que el usuario no pueda ver lo que está escribiendo. ¿Cuál es la forma ideal de manejar esto? gracias.

Respuesta

31

solución a todo problema es esta línea androide : windowSoftInputMode = "stateUnchanged | adjustResize"

"stat eUnchanged "hará que el estado del teclado sea el mismo que en el estado anterior. Ya sea oculto o visible.

"adjustResize" hará que su texto de edición sea visible.

Espero que esto ayude.

Editar

Esta necesidad de añadir en el archivo de manifiesto de Android.

0

Para la segunda pregunta: Puede establecer su diseño en ScrollView para evitar ocultar el texto de edición en el teclado. Coloque todo su diseño en un ScrollView.

+0

Estaba usando la vista de desplazamiento, pero la respuesta de Black Devil fue completa en sí misma. Así que gracias por la ayuda. – Android

2

Trate de añadir este código en sus propiedades Actividades en el manifiesto

android:windowSoftInputMode="stateHidden|adjustPan" 

Como

<activity 
      android:name=".MyActivity" 
      android:windowSoftInputMode="stateHidden|adjustPan" > 

Esto debe hacerse cargo de ambos sus problemas

+0

Gracias Antrromet, pero siempre ocultará mi teclado. y no quiero esto Gracias de todos modos. – Android

+0

No lo hará oculto siempre.Simplemente no abrirá el teclado cuando se inicie la actividad. Si haces clic en EditText, se iniciará el teclado. – Antrromet

2

Tuve este mismo problema. Para mantener el teclado de volver a aparecer en la rotación cuando se tiene TextViews, debe hacer 2 cosas:

  1. Asegúrese de que el TextView no tiene el foco. Incluso después de ocultar el teclado, todavía se puede enfocar un TextView. Intente llamar al

    textView.clearFocus() 
    

    y podrá ver la diferencia en TextView.

  2. Asegúrese de que no es otra vista antes de que (como un LinearLayout padres, o incluso sólo un LinearLayout con 0 0 anchura y altura), que tiene estas propiedades-

    android:focusable="true" 
    android:focusableInTouchMode="true" 
    
Cuestiones relacionadas