Tengo un <ScrollView>diseño:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_scrollview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/input_one"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:inputType="number" >
<EditText
android:id="@+id/input_two"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:inputType="number" >
<EditText
android:id="@+id/input_three"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:inputType="number" >
<Button
android:id="@+id/ok_btn"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:text="@string/ok_str" />
</LinearLayout>
</ScrollView>
Como puede ver arriba, el diseño simple consta de tres campos de entrada y un botón "Aceptar".
Ejecuto mi aplicación con el diseño anterior, cuando toco el primer campo de entrada ( @+id/input_one), el teclado virtual aparecerá en la parte inferior de la pantalla, oculta el tercer campo de entrada y el botón "Aceptar".
Desde que lo uso <ScrollView>, pensé que podía desplazar la página hacia arriba para ver el tercer campo de entrada y el botón "Aceptar" que están ocultos por el teclado virtual, pero la página no se puede desplazar . ¿Por qué? Cómo deshacerse de él? Básicamente, me gustaría ver todos los campos de entrada y el botón "Aceptar", incluso el teclado en pantalla emergente.

Respuestas:
He arreglado el problema definiendo el atributo siguiente en
<activity>de AndroidManifest.xmlfuente
Ok, he buscado varias horas para encontrar el problema y lo encontré.
Ninguno de los cambios me gustó
fillViewport="true"niandroid:windowSoftInputMode="adjustResize"me ayudó.Yo uso Android 4.4 y este es el gran error :
De alguna manera, los temas de pantalla completa evitan que ScrollViews se desplace cuando el SoftKeyboard está visible.
Por el momento, terminé usando esto en su lugar:
No sé cómo deshacerme de la barra superior del sistema con la pantalla de tiempo y batería, pero al menos tengo el problema.
Espero que esto ayude a otros que tienen el mismo problema.
EDITAR: Tengo una pequeña solución para mi caso, así que la publiqué aquí :
No estoy seguro de si esto funcionará para usted, pero definitivamente lo ayudará a comprender y aclarar algunas cosas.
EDIT2: Aquí hay otro buen tema que lo ayudará a ir en la dirección correcta o incluso a resolver su problema.
fuente
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);Para mí lo único que funciona es poner en la actividad en el manifiesto este atributo:
No mostrar el teclado al abrir la actividad y no superponer la parte inferior de la vista.
fuente
poner esto dentro de su manifiesto de esta manera en modo sin pantalla completa
en tu manifiesto
fuente
ScrollView, sino unaRelativeLayoutque contiene unaLinearLayoutque luego contiene unaScrollViewEn su propiedad
ManifestdefinewindowSoftInputMode:fuente
mira esto.
fuente
Esto solo funcionó para mí:
fuente
Además, si desea hacerlo mediante programación, simplemente agregue la siguiente línea al onCreate de la actividad.
fuente
Puede intentar usar el siguiente código para resolver su problema:
fuente
bueno, la respuesta más simple que probé es simplemente eliminar su código, lo que hace que la actividad pase a pantalla completa. Tenía un código como este que era responsable de hacer que mi actividad pasara a pantalla completa:
if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.KITKAT) {
Acabo de eliminar mi código y funciona completamente bien, aunque si desea lograr esto con la pantalla completa activada, tendrá que probar otros métodos
fuente