Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.04.2016, 16:32
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 1  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
По умолчанию StageText Android

Всем привет.
Столкнулся с такой вот дилемой, чёт не работает StageText под Андроидом, в айосе все норм, а вот в Андроиде, выводит только несколько символов латиницы и всё, цифры и т.д. как будто не импортированны.
Где чё подкопать, шрифт вродь за импортил правильно да и пытался санс вставить, всеравно не але.
21 ейр

Код AS3:
package engine.text {
  import flash.display.DisplayObjectContainer;
  import flash.events.Event;
  import flash.events.Event;
  import flash.events.FocusEvent;
  import flash.events.KeyboardEvent;
  import flash.events.SoftKeyboardEvent;
  import flash.events.TextEvent;
  import flash.geom.Point;
  import flash.geom.Rectangle;
  import flash.text.Font;
  import flash.text.ReturnKeyLabel;
  import flash.text.SoftKeyboardType;
  import flash.text.StageText;
  import flash.text.StageTextInitOptions;
  import flash.text.TextField;
  import flash.text.TextFormat;
 
  public class SoftboardTextfield extends TextField {
 
    public static const RETURN_KEY_LABEL_GO:String            = ReturnKeyLabel.GO;
    public static const RETURN_KEY_LABEL_NEXT:String          = ReturnKeyLabel.NEXT;
    public static const RETURN_KEY_LABEL_DONE:String          = ReturnKeyLabel.DONE;
    public static const RETURN_KEY_LABEL_SEARCH:String        = ReturnKeyLabel.SEARCH;
    public static const RETURN_KEY_LABEL_DEFAULT:String       = ReturnKeyLabel.DEFAULT;
 
    public static const SOFT_KEYBOARD_TYPE_URL:String         = SoftKeyboardType.URL;
    public static const SOFT_KEYBOARD_TYPE_EMAIL:String       = SoftKeyboardType.EMAIL;
    public static const SOFT_KEYBOARD_TYPE_NUMBER:String      = SoftKeyboardType.NUMBER;
    public static const SOFT_KEYBOARD_TYPE_DEFAULT:String     = SoftKeyboardType.DEFAULT;
    public static const SOFT_KEYBOARD_TYPE_CONTACT:String     = SoftKeyboardType.CONTACT;
    public static const SOFT_KEYBOARD_TYPE_PUNCTUATION:String = SoftKeyboardType.PUNCTUATION;
 
 
    private var _donor:TextField;
 
    private var _viewport:DisplayObjectContainer;
 
    private var _stageText:StageText;
 
    public function SoftboardTextfield(
        donor:TextField,
        softKeyboardType:String = SoftboardTextfield.SOFT_KEYBOARD_TYPE_DEFAULT,
        returnKeyLabel:String = SoftboardTextfield.RETURN_KEY_LABEL_DEFAULT,
        multiline:Boolean = true
    )
    {
 
      super();
 
      _donor = donor;
 
      var format:TextFormat = donor.getTextFormat();
 
 
      var initOptions:StageTextInitOptions = new StageTextInitOptions((_donor.numLines> 1 && multiline));
 
      _stageText = new StageText(initOptions);
 
      _prompt = _donor.text;
 
      _donor.text = '';
 
      _stageText.color              = donor.textColor;
      _stageText.fontSize           = format.size as uint;
      _stageText.fontFamily         = format.font;
      _stageText.restrict           = donor.restrict;
      _stageText.maxChars           = donor.maxChars;
 
      _stageText.autoCorrect        = true;
      _stageText.displayAsPassword  = donor.displayAsPassword;
 
      _stageText.returnKeyLabel     = returnKeyLabel;
      _stageText.softKeyboardType   = softKeyboardType;
 
      _stageText.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE,   keyboardHandler);
      _stageText.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING, keyboardHandler);
      _stageText.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, keyboardHandler);
 
 
 
      if (_donor.stage) {
        onAddedToStage();
      } else {
        _donor.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
      }
    }
 
    private var _autoClose:Boolean = false;
 
    public function enableEnterToClosing():SoftboardTextfield {
 
      _autoClose = true;
 
      if (_stageText.hasEventListener(TextEvent.TEXT_INPUT)==false) {
        _stageText.addEventListener(TextEvent.TEXT_INPUT, inputHandler);
      }
 
      return this;
    }
 
    override public function setTextFormat(format:flash.text.TextFormat,beginIndex:int = -1,endIndex:int = -1):void{
 
      _stageText.fontSize           = format.size as uint;
      _stageText.fontFamily         = format.font;
 
    }
 
    override public function set defaultTextFormat(format:TextFormat):void{
      setTextFormat(format);
    }
 
    private function inputHandler(event:Event):void {
 
      var t:String = _stageText.text;
 
      if(t.charCodeAt(t.length-1)==10) {
 
        _stageText.text = t.substr(0, t.length-1);
 
        Framework.stage.focus = null;
 
        if (_afterFunc) _afterFunc();
      }
    }
 
    public function setManualFocus(event:Event = null):void {
      if (event) event.currentTarget.removeEventListener(event.type,setManualFocus);
      _stageText.assignFocus();
    }
 
    private var _prompt:String = '';
    private var _afterFunc:Function;
 
    private function keyboardHandler(event:SoftKeyboardEvent):void {
 
      switch (event.type) {
 
        case SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE:
            if (_stageText.text==_prompt) _stageText.text = '';
 
          break;
 
        case SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING:
 
          break;
 
        case SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE:
 
            if (_stageText.text=='') _stageText.text = _prompt;
 
          break;
      }
    }
 
    private function onAddedToStage(event:Event=null):void {
 
        if (_donor.hasEventListener(Event.REMOVED_FROM_STAGE)==false) {
          _donor.addEventListener(Event.REMOVED_FROM_STAGE, onRemoveStage);
        }
 
        if (_stageText.text=='') _stageText.text = _prompt;
 
        _viewport = _donor.parent;
 
        var searchPosition:Point = _viewport.localToGlobal(new Point(_donor.x,_donor.y));
 
        _stageText.viewPort = new Rectangle(searchPosition.x, searchPosition.y, searchPosition.x+_donor.width-20,_donor.height);
 
        _stageText.visible = true;
 
        _stageText.stage = _viewport.stage;
 
    }
 
    private function onRemoveStage(event:Event):void {
 
        _stageText.visible = false;
 
        if (_donor.hasEventListener(Event.ADDED_TO_STAGE)==false) {
          _donor.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
        }
    }
 
    override public function setSelection(startIndex:int, endIndex:int):void {
      _stageText.selectRange(startIndex,endIndex);
    }
 
    override public function set text(txt:String):void {
      _stageText.text = txt;
    }
 
    override public function get text():String {
      return _stageText.text;
    }
 
    override public function set visible(status:Boolean):void{
      _stageText.visible = status;
    }
 
    override public function get visible():Boolean{
      return _stageText.visible;
    }
 
    public function afterCloseFunction(func:Function):void {
      _afterFunc = func;
    }
 
    public function destroy():void {
 
        _donor.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
        _donor.removeEventListener(Event.REMOVED_FROM_STAGE, onRemoveStage);
 
        _stageText.removeEventListener(TextEvent.TEXT_INPUT, inputHandler);
        _stageText.removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE,   keyboardHandler);
        _stageText.removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING, keyboardHandler);
        _stageText.removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, keyboardHandler);
 
        _stageText.stage = null;
 
        _stageText = null;
 
        _viewport = null;
 
        _donor = null;
    }
  }
}
__________________
return this...

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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