Android EditText нажмите навигацию неправильно - PullRequest
0 голосов
/ 28 сентября 2018

На рисунках ниже вы можете видеть 2 EditText, красиво стоящих рядом друг с другом.Когда я нажимаю на один EditText, он направляет меня к представлению (без проблем).Но когда я нажимаю на EditText рядом с ним, навигация отправляет меня немного вверх вместо того, чтобы оставаться на той же высоте.Другая проблема - когда я нажимаю на предыдущую EditText, высвечиваю высоту и скрываю EditText от вида.

Обычный

enter image description here

Сначала нажмите (ок)

enter image description here

Нажмите следующий (проблема)

enter image description here

Нажмите на предыдущую (самая большая проблема), я в конечном итоге немного ниже представления

enter image description here

Код:

<activity
            android:name=".activity.ReportsEditActivity"
            android:configChanges="orientation|screenSize"
            android:label="@string/title_activity_reports_edit"
            android:parentActivityName=".activity.MainActivity"
            android:windowSoftInputMode="adjustResize|stateVisible">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".activity.MainActivity" />
        </activity>

Редактировать текст:

<EditText
        android:id="@+id/report_template_grid_single_line_edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="@dimen/grid_padding"
        android:layout_marginStart="@dimen/grid_padding"
        android:inputType="text"
        android:maxHeight="@dimen/grid_element_max_height"
        android:maxLines="1"
        android:minHeight="@dimen/grid_element_min_height"
        android:paddingBottom="@dimen/grid_element_top_and_bottom_padding"
        android:gravity="top|start"
        android:paddingEnd="@dimen/grid_element_top_and_bottom_padding"
        android:paddingStart="@dimen/grid_element_top_and_bottom_padding"
        android:paddingTop="@dimen/grid_element_top_and_bottom_padding"
        android:textColor="@color/darkGray"
        android:textSize="@dimen/grid_text_size_small" />

1 Ответ

0 голосов
/ 07 октября 2018

Согласно документу разработчика здесь.https://developer.android.com/guide/topics/manifest/activity-element

Настроить изменение размера. Главное окно активности всегда изменяется, чтобы освободить место для экранной клавиатуры на экране.

Так что вам может понадобиться использовать AdjustPan что-то вроде этого

 <activity android:windowSoftInputMode="adjustPan"> </activity>

и когда пользователь нажимает клавишу «Назад», вы можете обработать событие «Назад» в методе onBackpressed, чтобы скрыть программную клавиатуру.

...