Android ScrollView не прокручивается, когда клавиатура вставлена

У меня есть представление, которое не заполняет экран, но когда клавиатура появляется, вы не можете прокручивать вниз до нескольких полей, которые теперь покрыты. Я попытался добавить adjustSize, adjustPan в манифест и в класс. Xml похож на следующую запись:

<?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>

Мне нужно иметь возможность прокручивать editTexts и TextViews, когда появляется клавиатура

Ответы

Ответ 1

Ссылка, предоставляемая Flipbed, является ответом на ваше решение. Вам не нужно реализовывать свое обходное решение, если вы просто добавляете "adjustResize" в свою активность в манифесте. Проблема, с которой вы столкнулись, заключается в том, что вы использовали adjustPan. Где adjustPan не изменяет размер окна, он поворачивает представление так, чтобы все, что сосредоточено, никогда не скрывалось с помощью мягкой клавиатуры. Если вы посмотрите документацию Google (см. Ссылку ниже), это будет иметь смысл.

Пример:

<activity android:name="YourActivity" 
          android:windowSoftInputMode="adjustResize" />

http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

Ответ 2

Добавьте android:windowSoftInputMode="adjustResize" в свой тег в файле AndroidManifest.xml. После того, как будет показана мягкая клавиатура, это приведет к изменению размера экрана влево над пространством. Таким образом, вы сможете легко прокручивать.