Android: el teclado se superpone con EditText (con pantallas de impresión)

Tengo un EditText (que el usuario puede escribir en los números ), de modo que cuando el usuario hace clic en el cuadro de texto EditText se abre un teclado con números.

Así es como se ve cuando se hace clic en el cuadro de texto

como puede ver, el teclado oculta una pequeña parte del cuadro de texto.

Pero cuando presiono una tecla, por ejemplo, 0, se ve bien. Así es como se ve después de hacer clic en 0

¿Hay algo que pueda hacer (además de poner EditText más alto) para que se vea como en la segunda imagen?

Editar: el código .xml:

                                

He intentado con tu XML y sí, tienes razón, el problema ocurre.

Para resolver el problema, he escrito esta línea en mi MainActivity.java espero que esta ayuda para usted, y coloque el diseño XML en ScrollView.

Actividad

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.temp); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); final EditText time = (EditText)findViewById(R.id.timeET); time.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { time.requestLayout(); MyActivity.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED); return false; } }); final EditText date = (EditText)findViewById(R.id.dateET); date.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { time.requestLayout(); MyActivity.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED); return false; } }); } 

Y el XML es como,

    --- --- ---   

Cambie a ScrollView de esta manera:

                                   

pon la vista completa dentro de un ScrollView y configura el android:windowSoftInputMode = adjustPan hará el truco.

solo necesitas agregar este fragmento de código

   Your linear layout here....  

Lo probé en mi HTC Desire y funciona bien para mí, espero que también funcione para usted.

Puede dar algunos consejos al sistema sobre cómo manejar esto a través de android: elemento windowSoftInputMode en la actividad declarada en el AndroidManifest. Pruebe el valor “adjustResize”.

android: windowSoftInputMode

Establezca android: windowSoftInputMode en la actividad para "adjustPan" :

La ventana principal de la actividad no se redimensiona para dejar espacio para el teclado virtual. Más bien, el contenido de la ventana se panoramiza automáticamente para que el enfoque actual nunca se oculte por el teclado y los usuarios siempre pueden ver lo que escriben.

Tenga cuidado con un error potencial al usar esta técnica con una actividad de pantalla completa.

intente cambiar el diseño lineal a la vista de desplazamiento … de modo que si el teclado aparece arriba, el usuario de texto de edición puede desplazarse y escribir …

                                 

por favor haga los cambios necesarios … he eliminado cadenas y src dibujables para mi convience..u necesidad de cambiar el primer diseño lineal a scrollview..try sin este android: windowSoftInputMode = adjustPan

Esta es una solución mucho más simple que la respuesta aceptada. La clave es la línea adjustUnspecified . Añádelo a su styles.xml: