Как определить изменение ширины / высоты экрана в Flex - PullRequest
2 голосов
/ 02 декабря 2010

У меня есть объекты, размещенные на экране, используя координаты x / y.Я хочу, чтобы способ обновления, основанный на изменениях ширины экрана / высоты.Так что если использовать браузер измененного размера, окно x / y должно измениться.Как выбрать функцию при каждом изменении размера экрана.

Ответы [ 3 ]

4 голосов
/ 02 декабря 2010

Вы можете сделать это, подключив слушатель ResizeEvent к любому объекту, который вы хотите отслеживать:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/events/ResizeEvent.html

public class Main extends Sprite {
    public function Main (  ) {

      stage.addEventListener(Event.RESIZE, resizeListener);
    }

    private function resizeListener (e:Event):void {
      trace("The application window changed size!");
      trace("New width:  " + stage.stageWidth);
      trace("New height: " + stage.stageHeight);
    }
  }
1 голос
/ 23 декабря 2010

Лучший способ обнаружить изменения в разрешении экрана - просто добавить прослушиватель событий на уровне приложения и использовать свойства события для обнаружения изменений


private function init():void
{
    this.addEventListener(ResizeEvent.RESIZE, resizeApplication);
}

public function resizeApplication(event:ResizeEvent):void
{
     if(this.stage.stageHeight != event.oldHeight)
     {
        //perform action here or just use the above properties in any way you want
     }

}

Я сделал эту функцию общедоступной, чтобы ее можно было использоватьв любом месте приложения, если событие было запущено, но прикрепленное к нему представление не прослушивало.

1 голос
/ 02 декабря 2010

Вы можете настроить прослушиватель события Resize на теге Application прямо в mxml.

Хотя вместо этого вы, возможно, захотите изучить настройку в процентах, это будет меньше усилийбольшинство случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...