android - tapar - Desplaza la pantalla hacia arriba cuando aparece el teclado
teclado en pantalla descargar (4)
Esto funciona para mí
android:windowSoftInputMode="stateVisible|adjustResize"
en androidmanifest para la actividad
Tengo una actividad con un editText en el medio. Cuando hago clic en editText, aparece el teclado y la pantalla se mueve para que editText esté justo encima del teclado, cubriendo las demás cosas que están debajo.
No quiero cambiar el tamaño ni agregar relleno al diseño. Solo necesito que la pantalla se desplace hasta la parte superior de la cantidad de espacio que necesito para ver también las otras cosas a continuación. En otras palabras, me gustaría seleccionar la posición de EditText cuando aparece el teclado. También sería suficiente si la pantalla se desplaza completamente, mostrándome la parte inferior del diseño.
Traté de poner el diseño en un scrollView agregando este código en editText
editText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//make the view scroll down to the bottom
scrollView.scrollTo(0, scrollView.getBottom());
}
});
pero no funciona. ¿Alguien tiene alguna idea? ¡Gracias de antemano!
Tuve este problema, lo resolví con este código:
myEdittext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myscrollview.postDelayed(new Runnable() {
@Override
public void run() {
View lastChild = myscrollview.getChildAt(myscrollview.getChildCount() - 1);
int bottom = lastChild.getBottom() + myscrollview.getPaddingBottom();
int sy = myscrollview.getScrollY();
int sh = myscrollview.getHeight();
int delta = bottom - (sy + sh);
myscrollview.smoothScrollBy(0, delta);
}
}, 200);
}
});
Tuve un problema similar una vez, resolví usar:
android:windowSoftInputMode="adjustResize"
en AndroidManifest.xml.
Si utiliza un RelativeLayout, comience con el elemento inferior que se debe enganchar al extremo inferior primario y luego enganche el otro elemento encima del anterior.
Si usa LinearLayout, envuélvalo en RelativeLayout y enganche LinearLayout en parentBottom.
De esta forma, cuando aparezca el teclado, verá la parte inferior de su diseño.
Espero que esto ayude.
use android: windowSoftInputMode = "adjustPan"
"adjustResize"
La ventana principal de la actividad siempre se redimensiona para dejar espacio para el teclado virtual en la pantalla.
"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. En general, esto es menos conveniente que cambiar el tamaño, ya que el usuario puede necesitar cerrar el teclado virtual para acceder e interactuar con las partes oscuras de la ventana.
Por ejemplo, en su archivo de manifiesto:
<activity
android:windowSoftInputMode="adjustPan"
android:name=".MainActivity"></activity>
Respuesta tardía. Pero seguramente ayuda a cualquiera.