EditText выставить под RecyclerView при появлении клавиатуры

Не могу заставить двигаться RecyclerView вверх при появлении клавиатуры при этом чтобы список был на весь экран если в нем мало элементов(чтобы клавиатура была под списком при появлении клавиатуры). Сейчас при появлении клавиатуры и EditTexta, EditText нахдится поверх RecyclerView. Как иметь RecyclerView на весь экран но при этом если показывается EditText и клавиатура RecyclerView был выше клавиатуры и EditTexta

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toTopOf="@id/editText1"
        android:scrollbars="vertical" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/recyclerView"
        android:hint="@string/add_item"
        app:layout_constraintBottom_toBottomOf="@id/container"
        android:background="@color/green"
        android:textColor="@color/black"
        android:visibility="visible"
        android:saveEnabled="true"
        android:inputType="text" >

        <requestFocus />
    </EditText>

Manifest.xml

    <activity
        android:name=".MainActivity"
        android:windowSoftInputMode="adjustResize"
        android:label="test">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Ответы (2 шт):

Автор решения: Andrew

Данная проблема решается простым добавлением в манифест строки:

android:windowSoftInputMode="adjustResize"

Эту строку нужно добавить в активность в которой находится ваш список. Вот похожий вопрос.

→ Ссылка
Автор решения: J Mas

Придется прокручивать лист программного, для этого использовать scrollToPosition

recyclerView.scrollToPosition(myListData.size - 1)

К сожалению

android:windowSoftInputMode="adjustResize"

не работает с RecyclerView как ожидается/хочется.

А если еще динамически появлется и исчезает EditText и его нужно отображать под RecyclerView нужно программно добавлять и убирать marginBottom EditTexta

        recyclerView.layoutParams = (recyclerView.layoutParams as ConstraintLayout.LayoutParams).apply {
            bottomMargin = resources.getDimensionPixelSize(R.dimen.edit_text_size)
}

В случае если editText показывается по действия какой либо кнопки можно использовать

editText.height 

вместо

 resources.getDimensionPixelSize(R.dimen.edit_text_size)

так как UI уже отрисован и размер известен во время изменения marginBottom

Если editText начинает показывать сразу при открытии активити, размер можно добавить в resource и использовать общее значение либо брать размер после отрисовки UI

→ Ссылка