Comment faire pour déplacer vers le haut l'ensemble de la mise en page lorsque le clavier affiché sur l'écran?
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<LinearLayout
android:layout_gravity="bottom"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</FrameLayout>
dans le manifeste:
android:windowSoftInputMode="adjustPan"
Initiale comportement:
Comportement actuel:
Comportement souhaité:
Comment faire pour obtenir le comportement désiré de mise en page? adjustResize impropre parce que cette option redimensionne mise en page.
Merci pour les réponses!
- Je pense que vous devriez utiliser un parchemin de vue que le parent principal de mise en page
- Je suis désolé, mais je ne comprends pas votre intention. Dire qu'il y avait un autre deux boutons situés au-dessus et au-dessous de l'affichage de texte;quel serait votre comportement souhaité être? Si tout se déplace, comment est-ce pas adjustResize ?
Vous devez vous connecter pour publier un commentaire.
Vous avez probablement envie de prendre un coup d'oeil à cette réponse. Une suggestion d'elle:
Fenêtre jeu de SoftInput Mode de propriété adjustPan et adjustResize
La seule manière d'obtenir ce résultat est de redimensionner mise en page.
Utiliser android:windowSoftInputMode="adjustResize"
essayer celui-ci dans votre manifeste:
le vérifier si la mise en page qui contiennent EditText et le Bouton est RelativeLayout.
Essayer de changer
FrameLayout
àRelativeLayout
avecalignParentBottom="true"
propriété dans votreLinearLayout
:Vous ne serez pas en mesure de mettre en œuvre qu'avec
adjustPan
, car à partir de la guide officielVotre
Button
est en dessous de votre objectif actuelEditText
en supprimant en dessous de la ligne de l'activité et android:windowSoftInputMode de manifester, j'ai eu toute la mise en page de défilement qui a été précédemment masquage par
veuillez cocher cette vidéo de sortie lien:
https://mega.nz/#!TpRCWZjY!TqDzv0Yn3Q24PR1JAdH8kRVeDf2iSa1Lqbnbgf0svhk
Je ne crois pas qu'il existe une façon simple de le faire. Au moins pas aussi simple que de créer un drapeau.
J'ai eu une situation similaire, de vouloir le clavier à atteindre le niveau de Vues bien en dessous de la sélectionné EditText. J'ai fini par utiliser cette réponse:
Comment vérifier la visibilité de logiciel clavier Android?
et manuellement le réglage de mon point de Vue tailles lorsque le clavier devient visible.
Il suffit d'utiliser cette propriété dans l'activité