Вид не изменен с помощью мягкой клавиатуры - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть активность, которая содержит фон + фрагмент. В задании также используется привязка данных

Фрагмент содержит два Recyclerview и EditText

архитектура xml выглядит следующим образом:

активность. xml

<layout>
 <data></data>

 <ConstraintLayout>

  <include> <-- appBar

  <CoordinatorLayout>

    <ConstraintLayout/> <--backdrop content

    <ConstraintLayout>
       <FrameLayout> <-- hold the current fragment

    </ConstraintLayout>

   </CoordinatorLayout>

 <ConstraintLayout>
</layout>

фрагмент. xml

<ConstraintLayout>


    <RecyclerView  
         android:layout_height="0dp"
         app:layout_constraintBottom_toTopOf="@+id/edit_text"
         app:layout_constraintTop_toTopOf="parent"/> <-- LinearLayoutManager

    <HorizontalScrollView
         android:layout_height="0dp"
         app:layout_constraintBottom_toTopOf="@+id/edit_text"
         app:layout_constraintTop_toTopOf="parent">

        <RecyclerView/> <-- GridLayoutManager

    </HorizontalScrollView>

    <EditText
        app:layout_constraintBottom_toBottomOf="parent"/>

</ConstraintLayout>

Когда я нажимаю на элемент (независимо от того, что представляет собой recyclerView), текст редактирования становится сфокусированным и появляется программная клавиатура

В этот момент представление не изменяет размер, чтобы соответствовать видимому окну. Это означает, что если выбранный элемент находится внизу, он становится скрытым.

Я установил windowSoftInputMode="adjustResize|stateVisible" в Манифест.

Я установил fitsSystemWindows="true" в разных местах, пытаясь изменить Ограничения по LinearLayout, но ничего не работает. Я не могу использовать setReverseLayout на менеджере, потому что GridLayoutManager не справился с этим.

Я не знаю, в чем проблема, почему мой вид не изменяется при отображении программной клавиатуры. Но по какой-то причине EditText хорошо перемещается в зависимости от видимости клавиатуры

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