发布于2026-07-22 阅读(0)
扫一扫,手机访问
之前做Flex项目时,遇到了一个挺常见的问题:怎么让网页自适应屏幕大小。网上一搜,很多答案都指向Application.application.width和Application.application.height,但那是针对的老写法。Flex4之后,官方推荐使用,这时候再去找Application.application,已经没了踪影。
真正靠谱的途径是this.stage.stageWidth和this.stage.stageHeight,但实际用起来还得看具体场景。比如我这边需要做一个登录界面,没有用状态(state),而是做成了组件,以PopUp新窗口的形式呈现——这样方便以后复用。可问题是,这个新窗口看起来又像是一个独立页面,总得让它的尺寸跟着屏幕走才协调。
于是想了个取巧的办法:在PopUp窗口初始化之前,就把窗口的宽高直接绑定到舞台的宽高上。具体实现如下:
private function loginPreinit():void
{
this.width=this.stage.stageWidth;
this.height=this.stage.stageHeight;
}
关键就是preinitialize事件里,手动把BorderContainer的宽高设置为舞台的宽高。这样一来,无论屏幕分辨率是多少,PopUp窗口都能自动撑满,视觉上就像新开了一整页,同时又不影响组件本身的复用性。当然,如果后续窗口内还有其他子元素,可能需要配合布局约束来保证内容不溢出,但就登录界面这种简单场景而言,这个方案已经足够干净利落。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8