2012-12-13 13 views
8

Staramy się zaplanować mobilną aplikację AIR, która zostanie wdrożona zarówno na urządzeniach z systemem Android, jak i iOS. Jednym z ekranów, które zwrócił nasz zespół projektowy, jest pełnoekranowy edytor tekstu, który biegnie od góry ekranu do klawiatury. Oczywiście nie mogę tego zrobić, jeśli nie mogę programowo uchwycić wysokości klawiatury. Czy jest jakiś sposób na zrobienie tego?Uzyskaj wysokość klawiatury programowej w Adobe AIR Mobile

Wiem, że jest to możliwe w systemie iOS i wydaje się niemożliwe w systemie Android. Nie mam problemu z tworzeniem ANE, ale wolałbym tego uniknąć, jeśli dane są już dostępne w środowisku AIR. Alternatywnie, mógłbym po prostu założyć, że klawiatura jest 1/2 rozmiaru ekranu i to działałoby, w przeważającej części, na iOS w porządku.

Krótko mówiąc, czy możliwe jest uzyskanie maksymalnej wysokości klawiatury w środowisku AIR?

+0

Dobre pytanie; Nie wierzę, że ta informacja jest w jakikolwiek sposób narażona. – JeffryHouser

+0

Tak, właśnie to wymyśliłem. Jestem zaskoczony, że Apple udostępnia je nawet natywnie. Są zbyt opiekuni ich klawiatury. –

Odpowiedz

11

Wierzę, że możesz uzyskać do niego dostęp za pomocą klasy scenicznej. Spójrz na this.stage.softKeyboardRect w widoku.

Uwaga: Nie próbowałem tego osobiście, ale być może trzeba będzie uzyskać do niego dostęp po zdarzeniu softkeyboard. Dodaj detektor zdarzeń do wprowadzania tekstu na softKeyboardActivate, a następnie zadzwoń pod numer this.stage.softKeyboardRect, aby uzyskać wysokość i położenie klawiatury.

+0

Idealny. Nigdy wcześniej nie zauważyłem tej własności. Wielkie dzięki. –

+3

Potwierdziłem, że działa to zarówno na iOS, jak i na Androida po uruchomieniu zdarzenia "SoftKeyboardEvent.ACTIVATE". Testowany na iOS6 (iPad gen 1 i 3) oraz Android 4.2 (Galaxy Nexus) z domyślnymi klawiaturami SwiftKey –

+0

Działał idealnie na tabletach Samsung Galaxy S3 i Galaxy Tab, ale wysokość i najwyższe wymiary są nieprawidłowe w moim HTC 1 (m8). Dziwne! –