2012-12-13 16 views
8

Stiamo provando a pianificare un'applicazione AIR mobile che verrà distribuita su Android e iOS. Uno degli schermi che il nostro team di progettazione ha restituito è un editor di testo a schermo intero che va dalla parte superiore dello schermo alla tastiera. Ovviamente non posso farlo se non riesco a catturare l'altezza della tastiera in modo programmatico. C'è un modo per fare questo?Ottieni l'altezza della tastiera in Adobe AIR Mobile

So che è possibile in iOS e sembra impossibile in Android. Non ho problemi a creare un ANE per farlo, ma preferisco evitarlo se i dati sono già disponibili in AIR. In alternativa, potrei semplicemente supporre che la tastiera abbia una dimensione pari a 1/2 dello schermo e ciò funzionerebbe, per la maggior parte, su iOS.

In breve, è possibile ottenere l'altezza del softkey in AIR?

+0

Buona domanda; Non credo che queste informazioni siano esposte in alcun modo. – JeffryHouser

+0

Sì, è quello che ho capito. Sono sorpreso che Apple lo renda disponibile anche in modo nativo. Sono eccessivamente protettivi della loro tastiera. –

risposta

11

Credo che sia possibile accedervi utilizzando la classe stage. Dai uno sguardo allo this.stage.softKeyboardRect nella tua vista.

Nota: non l'ho provato personalmente, ma potrebbe essere necessario accedervi dopo un evento di softkey. Aggiungi un listener di eventi al tuo input di testo su softKeyboardActivate, quindi chiama this.stage.softKeyboardRect per ottenere l'altezza e la posizione della tastiera.

+0

Perfetto. Non avevo mai nemmeno notato quella proprietà prima. Molte grazie. –

+3

Ho confermato che funziona sia su iOS che su Android dopo l'attivazione dell'evento 'SoftKeyboardEvent.ACTIVATE'. Testato su iOS6 (iPad gen 1 e 3) e Android 4.2 (Galaxy Nexus) con tastiere predefinite e SwiftKey –

+0

Ha funzionato perfettamente su Samsung Galaxy S3 e Galaxy Tab ma l'altezza e le dimensioni superiori sono tutte sbagliate sul mio HTC 1 (m8). Strano! –