In the activity entry in your AndroidManifest try putting:
android:windowSoftInputMode:adjustPan, this means when the keyboard comes up it will adjust the view behind it to move up so it is not obscured by the keyboard.
In the EditText you can also try adding a paddingBottom to adjust the gap between the keyboard and the bottom of the EditText.
In my case I had a custom background for the EditText, which was no longer looking OK. Because the parent view for me was ConstraintLayout I added another View element behind the EditText with:
app:layout_constraintEnd_toEndOf="@id/view_chat_history_send_text"
app:layout_constraintStart_toStartOf="@id/view_chat_history_send_text"
app:layout_constraintTop_toTopOf="@id/view_chat_history_send_text"
android:layout_marginBottom="@dimen/margin_normal"
Note: here view_chat_history_send_text is the EditText. And then I added a layout_marginBottom of the same margin as the paddingBottom of the EditText.
This means, when the EditText grows the background view grows as well, but it still maintains the gap between the keyboard and the EditText bottom.