J'ai un écran de connexion avec deux EditTexts
et un bouton de connexion dans ma mise en page. Le problème est que, lorsque je commence à taper, le clavier virtuel est affiché et couvre le bouton de connexion. Comment puis-je pousser la disposition vers le haut ou au-dessus du clavier quand elle apparaît?
Je ne veux pas utiliser un ScrollView
, je veux juste l'implémenter sans faire défiler l'écran. S'il vous plaît, suggérez-moi un moyen de le faire. Merci d'avance.
En quelque sorte, j'ai atteint cet objectif en connaissant le statut du clavier virtuel sur l'appareil. Je déplace la mise en page à la position y lorsque le clavier est affiché et je reviens à sa position initiale lorsqu'elle n'est pas montrée. cela fonctionne bien, suivi ces directives.
Définissez la propriété windowSoftInputMode
sur adjustPan
et adjustResize
<activity Android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
Essayez ceci dans le fichier manifeste Android correspondant à l’activité.
<activity Android:windowSoftInputMode="adjustPan"> </activity>
Utilisez ce code dans la méthode onCreate()
:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
seulement
Android:windowSoftInputMode="adjustResize"
dans votre balise d'activité à l'intérieur du fichier manifeste fera l'affaire
Mettez cette ligne en heure de déclaration d'activité dans manifest.xml
<Android:windowSoftInputMode="adjustPan">
Android:fitsSystemWindows="true"
ajouter une propriété sur la disposition principale du fichier de disposition et
Android:windowSoftInputMode="adjustResize"
ajouter une ligne dans votre fichier Manifest.xml sur votre Activty
c'est un travail parfait pour moi.
Mettez ceci dans votre déclaration d'activité dans le fichier manifeste <activity Android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
ou si vous le souhaitez, vous pouvez ajouter la méthode onCreate () de votre activité
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
C'est tout ce qui est nécessaire:
<activity Android:windowSoftInputMode="adjustResize"> </activity>
Lorsque le clavier logiciel apparaît, il modifie la taille de la disposition principale. Pour ce faire, vous devez créer un écouteur pour cette illustration principale et ajouter à cet écouteur le code scrollT0(x,y)
.
Si vous travaillez avec xamarin, vous pouvez mettre ce code WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize
dans l’attribut d’activité de la classe MainActivity. Par exemple, l’attribut d’activité se présentera comme ci-dessous
[Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
//some code here.
}
Selon ce guide , la manière correcte d’y parvenir est de déclarer dans votre manifeste:
<activity name="EditContactActivity"
Android:windowSoftInputMode="stateVisible|adjustResize">
</activity>
Utilisez la mise en page relative pour ajuster la vue afin que vous puissiez voir cette vue tout en tapant le texte
Tu devrais utiliser
Android:windowSoftInputMode="adjustPan|stateHidden"
dans votre AndroidManifest.xml
fichier dans lequel vous déclarez votre activité. Cela ajustera le contenu de votre mise en page lorsque le clavier est affiché dans la mise en page.
Cela fonctionne comme un charme pour moi
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);