J'essaie de créer un BottomSheetDialogFragment avec un TextInputLayout à l'intérieur. Je règle cette BottomSheet en tant que adjustResize pour empêcher le clavier de recouvrir TextInputLayout. Le fait est que je reçois des comportements différents avec différentes versions Android.Différents comportements avec ADJUST_RESIZE dans BottomSheetDialogFragment
C'est la mise en page:
<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>
Ce BottomSheetDialogFragment le:
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);
}
}
Ceci est le résultat souhaité:
Et voici le résultat que je reçois dans certaines versions:
Je reçois le résultat souhaité avec:
- S6 Galaxy avec Android 7.0
- Emulateur avec < = Android 5.1
Et aucun résultat souhaité avec:
- Nexus 5 avec Android 7.1.2 (LineageOS 14.1)
- Emulator avec => Android 6,0
Est-ce que quelqu'un sait pourquoi cela arrive ou comment résoudre il?
Merci d'avance !!!
Cheers.
J'ai essayé mais j'obtenir le même résultat. Pourriez-vous coller le fichier XML que vous avez utilisé s'il vous plaît? Merci – Buntupana
@Buntupana Mis à jour la réponse.S'il vous plaît essayer la solution et laissez-moi savoir le résultat. :) –
désolé pour le retard, j'étais à l'étranger. Je vous ai copié et collé du code et ça ne marche toujours pas. J'ai essayé avec Android O – Buntupana