Flex4 AIR NativeWindow не остается невидимым при запуске - PullRequest
0 голосов
/ 05 марта 2011

Во Flex 3 у меня была настройка приложения AIR, чтобы при запуске всегда было невидимое собственное окно, чтобы приложение могло вызывать сохраненную позицию и размер окна из локального общего объекта. После этого он устанавливает последнее использованное окно pos и размер, а затем делает видимое собственное окно, вызывая nativeWindow.activate ().

Очень чисто, всегда работал безупречно! Теперь введите Flex 4 ...

В Flex 4 свойство visible в файле дескриптора AIR почему-то игнорируется. В документации говорится, что она должна работать, но в моем простом тесте AIR всегда делает окно видимым сразу после запуска, независимо от того, установлен ли я в значение false.

Кто-нибудь знает, как заставить это работать, как это было во Flex 3?

РЕДАКТИРОВАТЬ: ОК, поэтому документы утверждают, что компонент Flex mx: WindowedApplication (и s: WindowedApplication?!?) Автоматически отображает и активирует окно непосредственно перед отправкой события applicationComplete, если для атрибута visible не установлено значение false в Определение MXML.

Это объясняет, почему он становится видимым сам по себе, даже если он каким-то образом бросает вызов цели установки видимого в false в первую очередь. Однако, если для WindowedApplication.visible задано значение false, окно приложения вскоре станет видимым, как и предполагалось, но затем мгновенно снова станет невидимым через доли секунды. Кажется, что nativeWindow.activate () вызывается слишком рано, потому что, если я жду один кадр, а затем вызываю его, он работает как должен и остается видимым. Однако я сомневаюсь, что лучше всего использовать callLater или обработчик enterFrame для ожидания запуска следующего кадра.

1 Ответ

0 голосов
/ 09 марта 2011

Вы пытались поставить видимое в false при инициализации приложения?Поместите это в свой тег WindowedApplication.

initialize="visible=false" creationComplete="visible=true"
...