2011-05-25 31 views
30

Tengo una aplicación con un elemento EditText en la vista principal. Esto significa que cuando mi aplicación está cargada, el teclado virtual aparece de manera predeterminada.Ocultar el teclado virtual en la carga de la aplicación

Me gustaría poder ocultar el teclado en la carga, por lo que no se muestra hasta que toco en la vista EditText.

¿Cómo administro esto?

Respuesta

23

Puede hacer algo más fácil. Esto, unido al LinearLayout (o cualquier otro diseño que es la raíz):

<LinearLayout 
... 
android:focusable="true" 
android:focusableInTouchMode="true" 
... 
/> 
+3

La respuesta aceptada no funcionó para mí, ya tenía set StateHidden. Esta sugerencia funciona Lo apliqué al diseño XML en su lugar: android: focusable = "true" y android: focusableInTouchMode = "true" en un grupo de vista principal. –

+2

Esta debería ser la respuesta aceptada. –

5
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 

Esto se ocultará en todas las situaciones.

EditText edtView=(EditText)findViewById(R.id.editTextConvertValue); 
    edtView.setInputType((InputType.TYPE_NULL); 
75

En su AndroidManifest.xml:

<activity android:name="com.your.package.ActivityName" 
      android:windowSoftInputMode="stateHidden" /> 

Más detalles sobre windowSoftInputMode se puede encontrar here.

Esta configuración ocultará el teclado virtual cuando el usuario ingrese una nueva actividad (incluso si el control EditText gana el foco). El teclado suave se mostrará solo cuando el usuario haga clic en el control del cuadro de edición.

+3

esta resuelto todos mis problemas ... No hay bichos: D –

+2

Trabajado ... Excelente ... –

+0

Tal vez no lo hacen saber inglés tan bien, ¿dónde ves en la explicación que _ se muestra solo cuando el usuario hace clic en el cuadro de edición_? El documento dice: "_ El teclado virtual está oculto cuando el usuario elige la actividad, es decir, cuando el usuario navega hacia la actividad de manera afirmativa, en lugar de retroceder porque deja otra actividad._". No me malinterpretes tu explicación es completamente clara. Pero los documentos no lo son. –

Cuestiones relacionadas