I'm trying to create a BottomSheetDialogFragment with a TextInputLayout inside. I'm setting this BottomSheet as adjustResize to prevent the keyboard cover the TextInputLayout. The thing is that I'm getting different behaviours with different android versions.
This is the layout:
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:background="@android:color/darker_gray"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="hint" />
</android.support.design.widget.TextInputLayout>
This the BottomSheetDialogFragment:
public class TestFragment extends BottomSheetDialogFragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
return inflater.inflate(R.layout.fragment_test, container, true);
}
}
This is the desired result:
And this is the result that I'm getting in some versions:
I'm getting the desired result with:
- Galaxy S6 with Android 7.0
- Emulator with <= Android 5.1
And no desired result with:
- Nexus 5 with Android 7.1.2 (LineageOS 14.1)
- Emulator with => Android 6.0
Does anyone know why this happen or how to solve it?
Thanks in advance!!!
Cheers.