Scrollview не прокручивается до конца, когда клавиатура в планшете Samsung работает - PullRequest
0 голосов
/ 05 июля 2018

В моем приложении есть активность, у которой есть scrollview и набор полей EditText внутри scrollview.

Ниже приведен код, который я использую.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/light_gray"
android:orientation="vertical"
android:paddingBottom="10dp">

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fadeScrollbars="false"
    android:padding="10dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/bg_light_gray"
        android:orientation="vertical"
        android:paddingBottom="10dp">


        <EditText
            android:id="@+id/a"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Email"
            />


        <EditText
            android:id="@+id/b"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="UserName"
             />


        <EditText
            android:id="@+id/c"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Pwd" />


        <EditText
            android:id="@+id/d"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Conf pwd" />


        <EditText
            android:id="@+id/e"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Other" />


        <EditText
            android:id="@+id/f"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Other1"
            android:imeOptions="flagNoExtractUi" />


        <EditText
            android:id="@+id/g"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Other2" />


        <EditText
            android:id="@+id/h"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Other3" />


        <EditText
            android:id="@+id/i"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Other4" />


        <EditText
            android:id="@+id/j"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Other5" />
    </LinearLayout>
</ScrollView>

Проблема здесь в ландшафтном режиме, когда клавиатура вверх, scrollview может прокручивать до нескольких полей EditText, и останавливается там, и не прокручивается до конца.

Я пробовал android: windowSoftInputMode = "AdjustResize" и "AdjustPan" также, но не повезло.

Кто-нибудь может подсказать, как разрешить прокрутке прокручиваться до конца при отображении клавиатуры ?. Пожалуйста, найдите прикрепленные скриншоты

full pagekeyboard upMaximum scrolling

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Измените высоту макета "wrap_content" на "match_parent" и сделайте android: fillViewport = "true" в вашем Scrollview в xml-файле.

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
 // Do your stubs
   </LinearLayout>

0 голосов
/ 05 июля 2018

android:windowSoftInputMode="adjustResize", добавленное к <actvity> в манифесте, должно сработать. Пожалуйста, попробуйте установить режим мягкого ввода adjustResize и в то же время изменить родительский элемент <LinearLayout android:layout_height="wrap_content" на <LinearLayout android:layout_height="match_parent". adjustResize изменяет размер пространства, доступного для окна вашего приложения, однако, чтобы заметить, что изменилось количество родительского пространства - ваша компоновка должна учитывать, что, мне кажется, match_parent поможет.

...