关于FLEX中的隐藏方法(mx_internal)
最终我决定还是用“隐藏”这个不是很合适的词。mx_internal是一个自定义命名空间,至于“命名空间”到底是什么就不在这里说了。总之,当我们在代码头部写上:
use namespace mx_internal
(如果是.AS文件,需要手动import mx.core.mx_internal,注意这个不会有代码提示)
那么所有以mx_internal为命名空间的方法就会成为和public一样的方法,也可以在代码提示中正常地列出(会被标记为黄色)。
下面列举几个mx_internal方法
contentPane
所有的UI容器都会有这样一个属性,他的作用是在原有的容器里再套上一个子容器,方便放置内容。但要注意,contentPane不一定有值,某些时候就是直接放在原来的容器里。(具体的我就没看了)
由于有这样一个东西,而这个东西的mouseEnabled默认为true,所以,当你将Canvas和Canvas里的组件mouseEnabled设置为false后,会发现Canvas里的组件还是会遮挡下面的鼠标事件。这就是因为在Canvas和组件之间隔了一层依然可以触发鼠标事件的contentPane。
因此,只要设置Canvas的contentPane.mouseEnalbed=false即可
$addChild
众所周知,Canvas,Application容器是不能直接addChild一个Sprite的。其实不然,$addChild调用的是super.addChild(),参数是DisplayObject,所以即使是Sprite也可以载入。
UI容器的addChild执行了非常多的操作,换成$addChild,我们有理由相信会出现各种各样的问题。这个例子只是为了说明,UI控件与容器其实没有本质区别,禁止直接加载Sprite,是为了强制你使用UI控件。毕竟不愿意用UI控件的话,还用FLEX干什么?
createdComponents
Repeater是制作论坛的首选,但我用这个用得比较少。
总之,第一次用的时候,我死活找不到如何获得Repeater中的某个特定对象,所以就找到了这个createdComponents属性,它里面包含了Repeater的对象数组。
renderArray
DataGrid的所有itemRenderer对象,都在里面- -
首先,不建议大家用这个,itemRenderer有特殊的生成及销毁方式,它的实例引用是非常不靠谱的。正常来讲,都应该用数据来进行两者之间的交互。
一定要用的话,renderArray是一个2维数据,一行,一列。其实这个属性基本没什么用,只要DataGrid一滚动,整个对应关系就乱掉了。
从上面可以看出,这些方法很多都是些不是很靠谱的方法,他们并不稳定。这就是他们是mx_internal而不是public的原因,
一般情况下,强烈不建议使用他们。除非,你实在走投无路。而且他们随时
相关文档:
flex或者flash客户端的缓存,并不是指浏览器的缓存,浏览器的缓存在一定时间后会过期,先作此声明。
使用flex或者flash开发出来的网站最大的问题就是swf文件过大,国内网速有限,导致加载时间过长,这样会丢失很多潜在的客户。
flex使用RSL技术,可以解决框架的缓存与共享,很大程度的解决了加载问题。但是如果项目过大, ......
需求:
开发flex的过程中遇到一个问题。flex的项目需要在客服端显示一个局域网类的一台服务器的文件目录结构,并且要能够点击访问。
预想:
flex在以前的版本里面没有file类,这个可以用java代码在后台进行处理,生成xml文件。前台的flex到相应目录下面读取数据即可。
困难:
flash被下载到客服端,有严格的安全 ......
最近遇到了和别人分享某些模块代码的情况,因此想到了flex lib project,结果如下:
首先,在看很多文章中关于swc的介绍时,都基本说成是用于flex的 component或者assets的打包文件。类似于java 的jar包。当时就很奇 怪,难道他只能在flex project中使用?于是做了如下测试:
......
转自:http://blog.csdn.net/meteorlWJ/archive/2008/03/27/2223239.aspx
这一次的Flex 实践将要实现以下功能:
1、自定义一个简单的 Flex 组件
2、创建一个Index. mxml 来调用该组件
&n ......
一、HTTPService
程序代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">
<mx:Script>
<!--[CDATA[
private function initializeHandler(event:Event):void {
countriesSer ......