Как предотвратить изменение размера окна после того, как вид становится видимым, когда отображается программная клавиатура - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть родительский ConstraintLayout для фрагмента, где я отображаю кнопку над программной клавиатурой, используя атрибут кнопки:

app:layout_constraintBottom_toBottomOf="parent"

Это нормально, пока я не изменю видимостьсостояние любого представления на экране от «невидимого» или «пропавшего» до «видимого», после чего кнопка исчезает за клавиатурой в нижней части экрана.

Добавление следующих атрибутов в ConstraintLayout ненапример, android:fitsSystemWindows="true" android:windowSoftInputMode="stateVisible|adjustResize"

При первом открытии клавиатуры размер экрана изменяется и кнопка нажимается вверх.После изменения видимости представления затем открытие / закрытие клавиатуры не имеет значения, и кнопка остается внизу экрана и за клавиатурой.

В xml нет ничего необычного.Например, вот урезанная версия, в которой появление errorTextView вызывает проблему.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toTopOf="@id/errorTextView"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/errorTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="invisible"
    app:layout_constraintTop_toBottomOf="@id/editText" />

<Button
    android:id="@+id/saveButton"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Save"
    app:layout_constraintBottom_toBottomOf="parent" />

</android.support.constraint.ConstraintLayout>

Любая помощь, полученная с удовольствием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...