2017-08-31 1 views
-1

La première page de mon application Android a un champ de saisie. Donc, ce que je veux, c'est quand cette page se charge, je veux montrer le clavier automatiquement sans faire de tap sur le champ de saisie.Comment afficher le clavier lors du chargement de la page dans l'application Android avec nativescript?

+1

Downvoted pour le manque d'effort visible dans la recherche de l'affaire avant de poster. A l'intérieur de votre page onNavigatedTo vous pouvez obtenir la vue d'entrée par id, et la mettre au point, ce qui devrait à son tour ouvrir le clavier. – pkanev

+0

J'ai essayé que ça ne fonctionne pas dans Android. –

Répondre

1

Le commentaire de pkanev est vrai sur ios; c'est-à-dire, se concentrer uniquement sur le champ de texte et ios ouvrira le clavier.

Mais sur Android, vous devez faire un travail supplémentaire -

var utils = require("tns-core-modules/utils/utils"); 

var myTextfield = page.getViewById("myTextFieldId"); 

if (myTextfield.ios) { 
    console.log("myTextfield.ios"); 

    // on ios this will open the keyboard but not on android 
    myTextfield.focus(); 
} 

if (myTextfield.android) { 
    console.log("myTextfield.android"); 

    setTimeout(function() { 

     // places the cursor here but doesn't open the keyboard 
     myTextfield.android.requestFocus(); 

     var imm = utils.ad.getInputMethodManager(); 

     imm.showSoftInput(myTextfield.android, 0); 

    }, 300); 
} 

Notez l'utilisation de setTimeout qui est ce que vous devez faire dans Android natif aussi.