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. После того, как будет показана мягкая клавиатура, это приведет к изменению размера экрана влево над пространством. Таким образом, вы сможете легко прокручивать.