请问flex中有没有那个关键字表示当前的最顶层对象

liuzxit 2010-10-27 07:21:13
如题有没有哪个关键字表示当前页面的最顶层对象,如<mx:Application />,相当于.net的Page一样
...全文
207 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
leemiki 2010-11-01
  • 打赏
  • 举报
回复
parentDocument是对上级父容器的引用,也不是你说的顶级对象~~~
liuzxit 2010-11-01
  • 打赏
  • 举报
回复
居然没有一个正确答案,我自己找到了,就是parentDocument,散分
leemiki 2010-10-28
  • 打赏
  • 举报
回复
this.addChild(button)就能添加!关键是你要在application的哪个位置添加??
比如
<mx:Canvas id="can1" width="100%" height="100%">
<mx:Canvas id="can2" width="100%" height="100%">
<mx:Canvas id="can3" width="100%" height="100%">
<s:Button width="100" height="25" label="btn" click="test()" />
</mx:Canvas>
</mx:Canvas>
</mx:Canvas>
can1.addChild(button)//添加在最外层canvas中

以此类推~~~~

当然要设置添加button的坐标,默认都是相对坐标(0,0)

Flex的基础布局,应该不难理解吧~~~~
liuzxit 2010-10-28
  • 打赏
  • 举报
回复
我反复试了parentApplication或application,但都报错,我直接贴出源码吧,看有没有哪位达人能帮我解决,先谢过了。(以下代码纯属举例,我希望实现的效果是在Application的下面加一个button)

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:cr="CodeRebot.Util.ObjectHandles.*"
minWidth="955" minHeight="600" backgroundColor="#efefef" creationComplete="application1_creationCompleteHandler(event)">

<fx:Script>
<![CDATA[
import mx.controls.Button;
private function test():void
{
var btn:mx.controls.Button=new mx.controls.Button();
btn.x=100;
btn.y=100;
btn.label="new button";
this.parentApplication.application.addChild(btn);
}

]]>
</fx:Script>

<mx:Canvas width="100%" height="100%">
<mx:Canvas width="100%" height="100%">
<mx:Canvas width="100%" height="100%">
<s:Button width="100" height="25" label="btn" click="test()" />
</mx:Canvas>
</mx:Canvas>
</mx:Canvas>
</s:Application>
leemiki 2010-10-27
  • 打赏
  • 举报
回复
application不被识别??你在哪试的??

主Application中可以直接引用application对象

组件中要通过this.parentApplication.application来引用

加组件一般两种方法:

1.mxml静态:通过组件id.addchild来添加

2.as动态:布局比较麻烦,只能一层层的new出来再add,
水中影子 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liuzxit 的回复:]

我试了一下stage不行,application不被识别
我举个例子吧,在mxml的script中,有个我点击一个按钮那么就在mx:Application中加一个label,当然这个按钮不确定位置的,不一定是Application的直接子控件,有可能是子控件的子控件,甚至更深,请问怎么用代码实现
[/Quote]

var label:Label=new Label();
this.addChild(label);
水中影子 2010-10-27
  • 打赏
  • 举报
回复
Application.application 试试


liuzxit 2010-10-27
  • 打赏
  • 举报
回复
我试了一下stage不行,application不被识别
我举个例子吧,在mxml的script中,有个我点击一个按钮那么就在mx:Application中加一个label,当然这个按钮不确定位置的,不一定是Application的直接子控件,有可能是子控件的子控件,甚至更深,请问怎么用代码实现
leemiki 2010-10-27
  • 打赏
  • 举报
回复
不知楼主说的最顶层指哪方面??

布局角度应该是stage

应用程序的角度是application

最顶层应该是SystemManager
mayuanfei 2010-10-27
  • 打赏
  • 举报
回复
stage?

4,327

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧