2017-09-22 3 views
0

Dans les formes xamarin, j'utilise le webview hybride pour afficher les champs texarea et les champs de saisie. Lorsque j'essaie d'entrer des données dans la zone de texte, le clavier s'ouvre et cache la zone de texte.
Ainsi, je ne suis pas en mesure de voir le texte que je tape.Il ne fait pas défiler automatiquement à la position actuelle du curseur.J'ai lu que l'ajout
android:windowSoftInputMode="adjustResize" au fichier manifeste android fait l'affaire.
Mais est-il possible d'appliquer la propriété ci-dessus uniquement à la vue Web (sans appliquer d'autres vues) ou existe-t-il un autre moyen de faire défiler automatiquement la vue pour que le champ d'entrée soit juste au dessus du clavier.
S'il vous plaît aiderClavier cache Textarea à l'intérieur d'un Hybrd Webview dans les formes Xamarin

+0

Mettez votre vue web hybride en mode défilement. –

+0

j'ai essayé mais ça n'a pas fonctionné. Y at-il un autre moyen? @ZiyadGodil – Debasish

Répondre

0

Mettez votre webview à l'intérieur d'une vue de défilement et gérer la fonction focalisée, cela m'aider dans les applications xamarin ios application.

private void Handle_Focused(object sender, Xamarin.Forms.FocusEventArgs e) 
    { 
     SCr_View.ScrollToAsync(0, Web_View.Y * 50, false); // 50 is height u want to move up 
    } 

Essayez ceci.

+0

Ne fonctionne pas pour moi.Est-il un autre moyen? @Riyas – Debasish

+0

idée est lorsque votre zone de texte est cliqué ou concentré, nous devons déplacer ou modifier la hauteur de votre zone de texte pour que vous puissiez utiliser scrollview pour une meilleure interface graphique. – Riyas

1

Qu'en est-:

protected override void OnCreate(Bundle savedInstanceState) 
{ 
... 

global::Xamarin.Forms.Application.Current.On<Xamarin.Forms.PlatformConfiguration.Android>() 
       .UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize); 
1

En App.xaml.cs vous pouvez ajouter:

using AndroidSpecific = Xamarin.Forms.PlatformConfiguration.AndroidSpecific; 

public App() 
{ 
    InitializeComponent(); 
    AndroidSpecific.Application.SetWindowSoftInputModeAdjust(this, AndroidSpecific.WindowSoftInputModeAdjust.Resize); 
    … 

qui je pense est moins idiomatiques que Artūras Paleičikas' answer mais réalise le même effet.