android - studio - no tapar el edittext con el teclado
Android ScrollView no se desplaza cuando el teclado está arriba (2)
Tengo una vista que no llena la pantalla, pero cuando aparece el teclado, NO puede desplazarse hacia abajo a los pocos campos que ahora están cubiertos. He intentado agregar adjustSize, adjustPan en el manifiesto y en la clase. El xml es similar a la siguiente entrada:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/s"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/TableLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<!-- TextViews & EditTexts are here -->
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<!-- TextViews & EditTexts are here -->
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<!-- TextViews & EditTexts are here -->
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<!-- TextViews & EditTexts are here -->
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<!-- TextViews & EditTexts are here -->
</TableRow>
</TableLayout>
</ScrollView>
Necesito poder desplazarme por los EditTexts y TextViews cuando aparece el teclado
Agregue android:windowSoftInputMode="adjustResize"
a su etiqueta en el archivo AndroidManifest.xml. Esto hará que la pantalla cambie de tamaño a la izquierda después de que se muestre el teclado virtual. Así, podrás desplazarte fácilmente.
El enlace que proporcionó Flipbed es la respuesta a su solución. No necesita implementar su solución si simplemente agrega "ajustarResize" a su actividad en el manifiesto. El problema que tenías antes es que estabas usando ajustPan. Cuando adjustPan no cambia el tamaño de la ventana, se desplaza la vista para que el teclado suave no oculte lo que tiene el foco. Si revisa la documentación de Google (ver enlace a continuación) tendrá sentido.
Ejemplo:
<activity android:name="YourActivity"
android:windowSoftInputMode="adjustResize" />
http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft