2011-12-15 19 views
6

Sto avendo alcuni problemi con il comportamento SoftKeyboard in Flex 4.6 e aria 3.1Flex 4.6 nascondere/respingere SoftKeyboard

Ho una lista con una barra di ricerca in alto. Quando un utente seleziona il componente TextInput, la softkey appare come dovrebbe. Ora quando l'utente ha finito di digitare il suo testo e preme il tasto di ritorno (o il tasto done/search/...), voglio che il softkey scompaia.

Quello che ho provato finora:

  • ho impostato la proprietà returnKeyLabel al "fatto" e il pulsante mostra di conseguenza. Tuttavia si limita a chiudere la tastiera su Android, su IOS la tastiera rimane accesa.

  • Allora ho provato non impostando il returnKeyLabel e manualmente cattura il tasto Invio e la messa a fuoco su un altro elemento che non richiede un SoftKeyboard, ma che non ha funzionato neanche.

  • Ho anche provato a inviare i miei eventi di clic "falsi" quando è stato premuto il tasto Invio, ma anche questo non ha funzionato.

Come parte della ricerca su questo problema ho trovato questo Dismiss SoftKeyboard in Flex Mobile, ma che non ha funzionato neanche. O almeno non in flex 4.6

Ora qualcuno sa di un buon modo per nascondere la softkey o rendere returnKeyLabel "done" su IOS che funzionerà con flex 4.6/air 3.1?

risposta

9

Hai provato qualcosa del genere?

<s:TextInput prompt="First Name" returnKeyLabel="done" enter="handlerFunction()"/> 
private function handlerFunction():void{ 
    stage.focus = null 
} 
+0

questo funziona, thx;) – Beele

+0

Glad suo lavoro, quando si imposta a returnKeyLabel l'accesso a un gestore di invio che dovrebbe consentirti di fare tutto ciò che ti serve. – francis

3

per Flex Applicazioni Android mobile Ho imitato l'ios modo intuitivo di toccando il fondo per rimuovere il SoftKeyboard come segue:

import spark.components.supportClasses.* 
     protected function application1_clickHandler(event:MouseEvent):void 
     { 

      if(event.target is StyleableTextField || event.target is StyleableStageText){ 
       // ignore because came from a textInput 
      }else{ 
       stage.focus = null 
       // to remove the softkeyboard 
      } 
     }