Невозможно изменить размер содержимого, чтобы оно соответствовало новому NativeWindow в AIR
Я пытаюсь создать класс всплывающего окна, который будет получать содержимое DisaplyObject, а также всплывать и отображать его сам по себе, но я ломаю голову, сопоставляя размер содержимого с окном, или наоборот... Я думаю, что, может быть, окно не отображает все сцены или что-то?!
Содержание становится слишком большим.. и выходит за пределы.
вот код:
public class SubWindow extends NativeWindow{
public function SubWindow()
{
var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
windowOptions.type = NativeWindowType.UTILITY;
windowOptions.resizable = false;
super(windowOptions);
this.stage.align = StageAlign.TOP_LEFT;
width = 400;
height = 400;
title = "Are you sure?";
alwaysInFront = true;
activate();
visible = false;
addEventListener(Event.CLOSING, closeWindow, false, 0, true);
}
public function closeWindow(e:Event)
{
e.stopImmediatePropagation();
e.stopPropagation();
e.preventDefault();
visible = false;
}
public function setContent(cont:DisplayObject)
{
visible = true;
//this.width = stage.stageWidth;
//this.height = stage.stageHeight;
trace(cont.getBounds(stage), width, height, stage.stageWidth,stage.stageHeight);
cont.height = stage.stageHeight;
cont.width = stage.stageWidth;
cont.x = cont.y = 0;
this.stage.addChild(cont);
trace(cont.width, width, height, stage.stageWidth,stage.stageHeight);
}
}
Спасибо мик
2 ответа
Теперь я решил это, я думаю!
Сначала создайте свой контент:
var myContent:MyCustomContentClass = new MyCustomContentClass();
Затем создайте свое окно и установите размер и положение
var myWindow:NativeWindow = new NativeWindow();
myWindow.stage.align = StageAlign.TOP_LEFT;
myWindow.width = myContent.width;
myWindow.height = myContent.height
И установите режим масштабирования без масштаба:
myWindow.stage.scaleMode = StageScaleMode.NO_SCALE;
А затем добавить контент
myWindow.stage.addChild(myContent);
myWindow.activate();
У меня все еще есть некоторые незначительные проблемы при работе на OSX, но я думаю, что это связано с размером системного Chrome.
Возможно, из-за того, что размеры родных окон Chrome отличаются. Попробуйте так:
http://tedpatrick.com/2009/12/23/sizing-air-nativewindow-to-stage/