`

父容器子容器大小设为百分比时,无法获取容器实际大小的问题的解决

阅读更多

在实际开发中主界面总是要充满全屏,但是在程序中如何获取当前窗口的实际大小呢 ??

 

问题描述:

 主程序:

    <?xml version="1.0" encoding="utf-8"?>
   <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    xmlns:local="*" width="100%" height="100%" >
    <local:subView width="100%" height="100%" >
       
    </local:subView>
</mx:Application>

 

 组件 subView:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"   creationComplete="init()" >
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            public function init():void{
                Alert.show(String(this.width));//获取实际大小

               Alert.show(String(Application.application.width));//主场景实际大小
            }
        ]]>
    </mx:Script>
</mx:Canvas>

 

 运行结果总是 显示 宽度 高度为零!!

 

解决办法:

 主程序:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    xmlns:local="*" width="100%" height="100%" initialize="mainInit()" >
    <mx:Script>
        <![CDATA[
            import mx.events.FlexEvent;
            private function mainInit():void{

              //子组建创建完成后执行init2()
                subCanvas.addEventListener(FlexEvent.CREATION_COMPLETE,subCanvas.init2);


            }
        ]]>
    </mx:Script>
    <local:subView width="100%" height="100%" id="subCanvas">
       
    </local:subView>
</mx:Application>

 组件 subView:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"   >
    <mx:Script>
        <![CDATA[
            import mx.core.Application;
            import mx.controls.Alert;
            public function init():void{
                Alert.show(String(this.width));
                Alert.show(String(Application.application.width));
            }
            public function init2(evt:Event):void{
                Alert.show(String(this.width));
                Alert.show(String(Application.application.width));
            }

        ]]>
    </mx:Script>
</mx:Canvas>

 

终于看到实际大小了,这样做比较麻烦,不知有没有更好的解决办法。

 

 

 

参考文章:

UIComponent的生命周期(life cycle)

地址 :     http://www.5uflash.com/Flex-AIR/Flexziliao/1556.html

分享到:
评论
2 楼 baixiaozhe 2009-08-16  
nathanlee 写道
ChangeWatcher.watch(this, "width", onSizeChangeWatcher);
				ChangeWatcher.watch(this, "height", onSizeChangeWatcher);


public function onSizeChangeWatcher(event:Event):void
		{
			Alert.show(" (width: " + this.width + ",height: " + this.height + ")");
		}


学习了 谢谢
1 楼 nathanlee 2009-08-13  
ChangeWatcher.watch(this, "width", onSizeChangeWatcher);
				ChangeWatcher.watch(this, "height", onSizeChangeWatcher);


public function onSizeChangeWatcher(event:Event):void
		{
			Alert.show(" (width: " + this.width + ",height: " + this.height + ")");
		}

相关推荐

    div+css有实例,易学易懂

    6.3.3 已知容器的大小而未知内容大小的水平和垂直居中问题 6.3.4 容器的大小和内容大小均未知的水平和垂直居中 6.3.5 修饰图片的水平和垂直居中 6.4 字体的综合属性 6.4.1 字体的选择 6.4.2 字体的大小 6.4.3 字体的...

    百分比的细节--容器大小篇

    百分比的细节--容器大小

    android自定义百分比布局

    【android】通过父容器大小,子控件百分比布局 导入项目添加依赖,可以直接复制源码进项目; 1、在自己布局文件中,最外层容器添加引用 xmlns:badboy="http://schemas.android.com/apk/res-auto" badboy自己随意...

    CSS设置盒子容器(div)高度(height)始终为100%

    就像一些网站的侧边栏,但直接设置盒子容器的高度为100%是不起作用的。 demo 如果想让一个元素的百分比高度height: 100%;起作用,你需要给这个元素的所有父元素的高度设定一个有效值。拿下面的demo谈,div的父元素有...

    Android自定义属性百分比布局

    PercentLayout通过父容器大小,子控件百分比布局 导入项目添加依赖,可以直接复制源码进项目;

    可拖动的jQuery分割div容器插件

    可拖动的jQuery分割div容器插件 split.js是一款可上下左右拖动的jQuery分割div容器插件。该插件可以实现父容器div的上下左右动态分割,并可以上下改变父div的高度,而且宽和高都是按百分比计算。

    AutoFix:百分比布局 屏幕适配

    设置控件宽度为父容器的宽的百分比 layout_heightPercent 设置控件高度为父容器的高的百分比 layout_marginPercent layout_marginLeftPercent 设置控件与左边控件的距离为父容器的宽度的百分比 layout_...

    可上下左右拖动的jQuery分割div容器插件

    split.js是一款可上下左右拖动的jQuery分割div容器插件。该插件可以实现父容器div的上下左右动态分割,并可以上下改变父div的高度,而且宽和高都是按百分比计算。

    Network-QoS-module-for-Docker-containers:可加载的内核模块,用于分配容器的带宽

    如果使用proc文件系统将百分比值设置为“ maximum_bandwidth”,则容器带宽的上限设置为(百分比值)*(带宽容量)。 可以通过如上所述更改“ minimum_bandwidth”来设置下限。 例)如果将最大带宽设置为50,则容器...

    acadock-monitoring:监控 docker 容器以获取实时 CPUMemoryNetworking

    配置从环境PORT :要绑定的端口(默认为 4244)应用程序接口内存消耗(以字节为单位) GET /containers/:id/mem 返回 200 OK Content-Type: text/plain CPU 使用率(百分比) 返回 200 OK Content-Type: text/plain ...

    百分比布局适配

    百分比布局适配,就是以父容器的尺寸作为基准,在view的加载过程中,根据当前父容器实际尺寸换算出目标尺寸,再作用在view上。 百分比布局,实际是对容器的一种扩展,即对宽高百分比的设置。 二、google推荐的百分比...

    css入门笔记

    4、spread:阴影的大小,指定要在基础阴影上扩充出来的大小距离,取值以px为单位的数值 5、color:阴影颜色 6、inset:将默认外阴影转为内阴影 在第一位 4、轮廓 轮廓指的是边框的边框,绘制于边框外的线条。 ...

    docker-balancer:通过 API 获取容器部署利用率最低的 Docker 主机

    基于在最大容器数、平均 CPU 和磁盘百分比上定义的阈值。 将容器部署到利用率最低的 Docker 主机。 入门 来自 Docker 主机(代理即将推出) /api/&lt;cpu&gt;/&lt;docker&gt;/&lt;disk percent (0-100) curl -XPOST ...

    float元素设置百分比宽和margin自动换行问题

    问题:若两个内层盒子宽度设定为50%,则加上间隔15px会超出父容器就会自动换行;若两个内层盒子宽度设定为小于50%,则浏览器尺寸改变时就不会充满父容器,导致水平不居中。 解决方法:使用calc()动态计算宽度。...

    【大屏可视化模板】vue-dataV-echarts-elementul大屏数据可视化方案,屏幕适配方案等比例缩放

    可以让你不需要大量使用百分比或者转换之类的方法去写屏幕自适应大小,而是可以用部分px直接写css定死,通过屏幕大小改变对应等比例缩放,达到屏幕适配效果 为了让大家直观的看到所有的代码,所以结构方法等就不分...

    Percentext:一个 jQuery 插件,可让您按宽度设置文本元素的样式

    调整字体大小和字母间距的 jQuery 插件,因此您可以为标题设置百分比宽度。 在 GitHub 上下载快速入门指南 可以在上找到示例、文档和安装指南。 我讨厌浪费时间的一件事是定位和调整标题的大小。 我可以通过指定...

    react-on-visible:当元素在浏览器视口中时,将组件类应用到容器的React组件

    2021年4月ReactOnVisible组件现场演示实时示例: : 描述这是适用CSS类的部件visible ,当元件由默认变得大于50%,在浏览器窗口可见的容器。 它仅附加到客户端上的浏览器事件,因此也可以安全地用于服务器呈现。 ...

    封闭容器内部短路燃弧特性及电弧电压计算

    为了准确计算金属封闭开关设备发生短路燃弧时产生的能量,通过开展小尺寸封闭容器内部短路燃弧试验,利用L-C振荡试验回路获得不同充电电压和间隙距离下的电弧电压和电流等数据,详细分析了封闭容器内部燃弧特性,...

    ExtAspNet_v2.3.2_dll

    -为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    市场上相应的检测平台诸如检测通、凡特网等皆为pc端检测网站,并且操作繁琐不够人性化,用户在实地使用中存在很多问题。昆山工业技术研究院着眼于为委托用户和质检机构搭建良好的沟通桥梁,免去目前市场业务中企业...

Global site tag (gtag.js) - Google Analytics