Я пытаюсь создать BottomSheetDialogFragment с TextInputLayout внутри. Я устанавливаю этот BottomSheet как adjustResize, чтобы клавиатура не закрывала TextInputLayout. Дело в том, что у меня разные типы поведения с разными версиями Android.
Это макет:
<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>
Этот фрагмент 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);
}
}
Это желаемый результат:
И это результат, который я получаю в некоторых версиях:
Я получаю желаемый результат с помощью:
- Galaxy S6 с Android 7.0
- Эмулятор с <= Android 5.1
И без желаемого результата с:
- Nexus 5 с Android 7.1.2 (LineageOS 14.1)
- Эмулятор с = > Android 6.0
Кто-нибудь знает, почему это происходит или как его решить?
Спасибо заранее!
Приветствия.