Clavier souple cache la moitié de EditText
J'ai une listview et le dernier élément de la liste contient EditText:
<RelativeLayout
android:id="@+id/contentLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="30dp"
android:orientation="vertical" >
<ImageView
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/messageEditText"
android:layout_below="@+id/messageEditText"
android:layout_marginRight="14dp"
android:src="@drawable/test" />
<EditText
android:id="@+id/messageEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/sendImageButton"
android:ems="10"
android:gravity="top"
android:hint="@string/messageEditText"
android:inputType="textMultiLine"
android:minHeight="55dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp" />
<ImageButton
android:id="@+id/sendImageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/messageEditText"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/messageEditText"
android:adjustViewBounds="true"
android:maxHeight="55dp"
android:maxWidth="55dp"
android:padding="12dp"
android:scaleType="centerInside"
android:src="@drawable/sendmessage" />
</RelativeLayout>
De la moitié de l'EditText est caché. J'ai aussi ne peux pas faire défiler la liste. Toute solution?
- double possible de Android clavier souple couvre edittext champ
- Je suis en train de vivre la même question de l'événement après le réglage de android:windowSoftInputMode="adjustResize|stateHidden" et à l'aide d'un scrollview. Toutes les autres suggestions?
- [La propriété android:windowSoftInputMode="adjustResize" ne fonctionne pas avec la pleine activité de l'écran, vous devez le supprimer de l'activité en plein écran drapeaux dans le but d'obtenir un avantage de la redimensionner. ](stackoverflow.com/a/42204350/3926264)
Vous devez vous connecter pour publier un commentaire.
Solution est de créer des
android:softInputMode
attributadjustResize
dans le Manifeste et le mettre en page(pas de liste de l'élément de mise en page) à l'intérieur d'un ScrollView.J'ai Eu un problème similaire, j'ai ensuite utilisé
android:windowSoftInputMode="adjustResize|stateHidden"
comme mentionné ici.. Il fonctionne très bien pour moi..Depuis mes premiers jours en tant que Développeur Android j'ai du mal avec le clavier virtuel. Je suis étonné que Android n'est pas encore en donnant un élégant et de solution claire pour cela.
Voici donc la solution de Contournement qui va mettre ce désordre derrière vous. il fonctionnera sans la ScrollView solution de contournement ou de donner votre plein écran drapeau.
compiler net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:1.0.1'
android:windowSoftInputMode="adjustResize"
envelopper votre EditText avec une verticale LinearLayout et ajouter une Vue avec une Visibilité de plus de
calculer la taille de l'écran de sorte que vous pouvez calculer la hauteur de la vue qui pousse le EditText:
C'est le résultat:
Désactiver le clavier de la fenêtre de démarrage
Définir une
android:softInputMode
attribut pour votre Activité dans votre Manifeste.Voir le Manifeste de la documentation pour une liste complète des valeurs et de leur effet. Ceux d'un intérêt particulier pour vous sera probablement
adjustPan
etadjustResize
.adjustPan
etadjustResize
.