Управление X и Y в spark.components.Window

Я создаю мобильное приложение во Flex 4. Я создаю окна так, как они нужны в приложении без хрома.

Вот что у меня в основном создании приложения завершено

protected function creationCompleteHandler(event:FlexEvent):void
            {

                facade.sendNotification(AppFacade.APP_INIT, this);
                var buttons:NavigatorWindow = new NavigatorWindow();
                var workingSets:WorkingSets = new WorkingSets();
                buttons.addElement( workingSets );
                buttons.width = 115;
                buttons.height =200;
                buttons.maximizable = false;
                buttons.resizable = false;

                buttons.addEventListener(AIREvent.WINDOW_COMPLETE, onWindowComplete);
                buttons.open();


            }

            private function onWindowComplete(event:AIREvent):void
            {
                event.currentTarget.x = 100;
                event.currentTarget.y = 100;
            }

по какой-то причине приложение добавляет окно в середину экрана, и если я установил x и y окна, оно не будет располагаться там, где я ожидаю, в левом верхнем углу экрана. Как мне расположить окно там, где я хотел бы, когда оно открывается?

Спасибо,

1 ответ

Решение

Spark.components.Window существует внутри NativeWindow, вам нужно расположить NativeWindow, если вы хотите переместить его на экран. Это немного сбивает с толку, потому что вы также можете расположить Окно внутри собственного окна. Вы должны будете выполнить позиционирование после завершения создания, иначе вы получите нулевые ошибки ссылки.

Вы можете вызвать окно, как это, если вы создали компонент на основе spark.components.Window:

var win:MyWindow = new MyWindow();  //MXML component
win.height = 150;
win.width = 300;
win.systemChrome = NativeWindowSystemChrome.NONE;
win.type = NativeWindowType.LIGHTWEIGHT;
win.showStatusBar = false;
win.transparent = true;
win.alwaysInFront = true;
win.open(true);

Затем в этом компоненте mxml вы устанавливаете обработчик события creationComplete, чтобы сделать это:

var padding:int = 25;
this.nativeWindow.x = Screen.mainScreen.visibleBounds.right - this.width - padding;
this.nativeWindow.y = Screen.mainScreen.visibleBounds.top + padding;

Это должно поместить ваше новое окно в верхний правый угол с 25px отступа сверху и справа.

Другие вопросы по тегам