fle弹出窗口的方法大概有以下两种

本文详细介绍了在Flex4环境中解决弹出窗口居中问题的方法,包括使用PopUpManager的addPopUp和centerPopUp方法,以及手动设置窗口位置的技巧。同时强调了弹出窗口必须指定高宽的重要性,并通过实例演示了如何实现屏幕或容器居中的效果。
第一种:
PopUpManager.addPopUp( window, this, true );
PopUpManager.centerPopUp( window );
// 下面两行是关键的,如果有多个几层弹出窗口的话使用上面的方法没法居中,必须手动设置窗口位置,
// 当然这个只是居中于屏幕中间,如果你是想居中于上一级弹出窗口的中间的话,那就不能添加下面两行代码了
window.x=Application.application.stage.stageWidth/2-window.width/2;
window.y=Application.application.stage.stageHeight/2-window.height/2;
//Flex4中需要下面方法
window.x=FlexGlobals.topLevelApplication.stage.stageWidth/2-window.width/2;
window.y=FlexGlobals.topLevelApplication.stage.stageHeight/2-window.height/2;


第二种:
var win:popupDatagrid=popupDatagrid(PopUpManager.createPopUp(this , popupDatagrid, true));
PopUpManager.centerPopUp(win); 
win.x=FlexGlobals.topLevelApplication.stage.stageWidth/2-win.width/2;  
win.y=FlexGlobals.topLevelApplication.stage.stageHeight/2-win.height/2;   



效果都差不多,但是有一点注意的是,弹出窗口必须要指定高宽,否则它居中就出问题。
案例:我的弹出窗口是个动态生成的grid,高宽不定的, 
//容器居中
win.x=FlexGlobals.topLevelApplication.stage.stageWidth/2-win.width/2;  
win.y=FlexGlobals.topLevelApplication.stage.stageHeight/2-win.height/2;     
//屏幕居中
win_before.x = Capabilities.screenResolutionX / 2 - win_before.width / 2;
win_before.y = Capabilities.screenResolutionY / 2 - win_before.height / 2 - 50; 
这些计算都是按照最小的高宽来设置的,所以导致不居中。,其实没必要这两句话,只要你设置了高宽就能居中 ,因为centerPopUp。
### 应用场景介绍 此应用使用了 Flet 框架,创建了一个具有多个独立窗口的应用程序。主要功能包括: - **主窗口**:显示登录界面或主菜单,用户可以通过点击按钮进入不同的子窗口。 - **子窗口**:应用程序中可以有多个子窗口,每个子窗口展示不同的内容或功能。用户可以通过子窗口中的按钮返回主窗口。 ### 特色说明 1. **多窗口管理**: - 应用通过路由机制管理多个窗口,每个窗口对应一个路由路径。 - 使用 `page.route` 和 `page.go` 方法实现窗口之间的切换。 2. **动态布局**: - 每个窗口的布局和内容都是动态生成的,可以根据需要调整窗口的大小和内容。 - 使用 `ft.Column` 和 `ft.Row` 布局控件,确保内容居中对齐,美观大方。 3. **响应式设计**: - 应用根据不同的窗口设置不同的宽度和高度,确保在不同设备上都能良好显示。 - 使用 `page.window.width` 和 `page.window.height` 设置窗口大小。 4. **按钮导航**: - 每个窗口都包含返回主窗口的按钮,方便用户在不同窗口之间切换。 - 主窗口包含多个子窗口的导航按钮,用户可以快速跳转到不同的子窗口。 5. **简洁的代码结构**: - 代码结构清晰,每个功能模块化,便于维护和扩展。 - 使用字典 `routes` 管理不同的路由路径和对应的显示函数,简化了路由管理逻辑。 ### 示例功能 - **主窗口**: - 显示三个按钮,分别导航到子窗口1、子窗口2和子窗口3。 - 窗口大小为700x450像素。 - **子窗口1**: - 显示一个返回主窗口的按钮。 - 窗口大小为500x300像素。 - **子窗口2**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值