0
votes

Comment empêcher EditText de monter lorsque le clavier apparaît

Dans une activité de navigation en bas, j'ai un fragment avec un bouton, un EditText et un TextView.

Le problème est que lorsque je concentre le EditText pour écrire avec le clavier, il se déplace vers le haut et le bouton bogue dedans. Comment puis-je résoudre?

 clavier désactivé clavier activé

<?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"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

    <TextView
            android:layout_width="0dp"
            android:layout_height="178dp"
            android:gravity="start|top"
            android:ems="10"
            android:id="@+id/output"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent"
            android:autofillHints="" app:layout_constraintVertical_bias="0.386"
            app:layout_constraintTop_toBottomOf="@+id/button" app:layout_constraintHorizontal_bias="0.666"
            style="@style/Widget.AppCompat.TextView" android:scrollbars="vertical" android:textSize="18sp"
    />
    <EditText
            android:layout_width="0dp"
            android:layout_height="178dp"
            android:inputType="textMultiLine"
            android:gravity="start|top"
            android:ems="10"
            android:id="@+id/input"
            app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.666"
            android:autofillHints="" android:hint="@string/hint" android:layout_marginTop="16dp"
            app:layout_constraintBottom_toTopOf="@+id/button" app:layout_constraintVertical_bias="0.574"
            android:scrollbars="vertical"/>
    <Button
            android:text="@string/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:id="@+id/button"
            app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintHorizontal_bias="0.498" app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>


0 commentaires

3 Réponses :


0
votes

Vos contraintes sont probablement à l'origine de ce comportement.

Essayez de supprimer la contrainte inférieure de votre EditText et de définir la contrainte supérieure de votre bouton en bas de EditText au lieu du haut du parent. Je pense que cela résoudra le problème.


0 commentaires

2
votes

Utilisez ceci 'android: windowSoftInputMode = "AdjustPan"'
dans le fichier AndroidMenifest.xml

 <activity
       android:name=".ui.activity.approve_pending.ApprovalsActivity"
       android:windowSoftInputMode="adjustPan" />
  

Vous trouverez plus d'informations ici https://developer.android.com/training/keyboard-input/visibility


1 commentaires

Votre solution a résolu mon problème, merci beaucoup!



0
votes

ça marche pour moi, c'est reconnaissant, essayez-le

android: windowSoftInputMode = "AdjustPan"


0 commentaires