这是我更改应用程序宽度和高度的方法:
FlexGlobals.topLevelApplication.width = FlexGlobals.topLevelApplication.parameters.width;
FlexGlobals.topLevelApplication.height = FlexGlobals.topLevelApplication.parameters.height;
我正在尝试更改spark应用程序的宽度和高度:
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark"
width="100" height="100">
好像我在代码中指定它,我从html flashvars传递它,但是应用程序的宽度和高度没有改变,有什么问题?
答案 0 :(得分:0)
希望这会对你有所帮助。
您需要在flex项目(flashbuilder)中的index.template.html
下找到history-template folder
文件。在swfobject.js脚本标记后面的index.template.html
文件中添加以下javascript代码。您可以直接传递javascript本身的高度和宽度。
Javascript代码
function getFlexApp(appName) {
if (navigator.appName.indexOf ("Microsoft") !=-1) {
return window[appName];
} else {
return document[appName];
}
}
var appName = "${application}";
var flexAppHeight = "150px"; //Your customize height
var flexAppWidth = "200px"; //Your customize width
function changeDimension(){
var app = getFlexApp(appName);
app.style.height = flexAppHeight;
app.style.width = flexAppWidth;
}
Flex代码
在应用程序preinitilize事件中调用application1_preinitializeHandler(event)。
protected function application1_preinitializeHandler(event:FlexEvent):void
{
if(ExternalInterface.available)
{
ExternalInterface.call("changeDimension");
}
}
还要确保您的HTML标记(查看源代码)中提供了您的js功能代码。 Flex也可以调用选项(不需要你的情况),你可以直接在Javascript中设置高度和宽度,甚至可以用HTML做更好的。
只需在changeDimension()
函数声明后调用。
changeDimension();
//无需从Flex致电。