Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Сенсорные события ввода текста Android / iOs (http://www.flasher.ru/forum/showthread.php?t=203996)

AlexCooper 14.10.2013 22:08

Сенсорные события ввода текста Android / iOs
 
Здравствуйте.
Не могу нарыть правильную ссылку на реализацию прослушивания событий сенсорного ввода текста.
При клике на текстовом поле Input-тайпа, выводиться стандартная виртуальная клавиатура, к примеру Android'a. Как прослушать события ввода, больше всего интересует событие тыка на кнопке "Ентер" и последующее закрытие окно ввода текста с виртуальной клавиатуры.
Покажите путь истинный :o

alatar 15.10.2013 02:14

Все клавиши никак. Enter ловится на iOS (если клавиатура в доке), на Android'e то ли вообще не ловится, то ли только на некоторых клавиатурах, надо проверить. Закрытие/открытие клавиатуры можно отловить по событию SoftKeyboardEvent.

AlexCooper 15.10.2013 06:21

Написал небольшой костыль, может кому пригодиться. Не работает с текстовыми полями знака без переноса.
Код AS3:

private function softKeybordHandler( event:SoftKeyboardEvent):void {
 
        event.type == SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE
                        ? addEventListener(Event.ENTER_FRAME, enterFrame)
                        : removeEventListener(Event.ENTER_FRAME, enterFrame);
 
}
 
private function enterFrame(e:Event):void {
 
        var trg:TextField = input;
 
        if (trg.numLines>1) {
 
                var v:String = '';
 
                var t:String = trg.text;
 
                for ( var c:uint = 0; c < t.length; c++) {
 
                        if (t.charCodeAt(c)==13) continue;
 
                        v +=  t.charAt(c);
                }
 
                if (t.length != v.length )
                {
                        trg.text = v;
                        stage.focus = null;
                        trg.visible = false;
                        trg.visible = true;
                        trace('ENTER');
                }
 
        }
}



Часовой пояс GMT +4, время: 08:39.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.