近期问题汇总
标签(空格分隔): Flex as
最近回归到了Flex,一些操作有些生疏了,重新捡起来,做个备忘。
说明:本文除特殊声明,组件一律采用Spark包中的。
给list指定数据源
通过dataProvider属性
dataProvider="{videos}"
这里videos是一个绑定的ArrayCollection对象,dataProvider要求的数据源规格是IList ,所以Array是不行的。
在list中指定数据源
<s:ArrayCollection id="videoData"/>
以上两个设置等效。
指定list的列数
在list中添加布局,指定列数。
<s:layout>
<s:TileLayout requestedColumnCount="3" />
</s:layout>
指定list列的背景颜色
设置list中的属性:
alternatingItemColors="[0xCCCC33, 0xCC9999,0xCCFF66]"
以上是设置了3个颜色交替显示。
修改默认的Panel外观,不显示阴影
设置Panle的属性:
dropShadowVisible="false"
设置鼠标划过显示内容,鼠标变为手型
默认情况下鼠标经过Lable和Image鼠标会显示为指针,需要显示为手型(暗示用户可以点击)需要做如下设置:
useHandCursor="true" mouseChildren="true" buttonMode="true"
其中useHandCursor的设置是基础,可能需要另外两个属性做配合。
官方文档的解释如下:
注意:在 Flex 或 Flash Builder 中,如果您的 Sprite 拥有子 Sprite,您可能要将 mouseChildren
属性设置为 false。例如,如果您希望在 Flex 控件上出现手形光标,请将 useHandCursor 和
buttonMode 属性设置为 true,并将 mouseChildren 属性设置为 false。
给显示内容添加简单的tips
在显示内容属性中设置:
toolTip="tips的文字内容"
请求服务数据(json或者xml格式)
请求:
var jsonService:HTTPService=new HTTPService();
jsonService.url = "此处应该是一个带参数的请求链接地址";
jsonService.addEventListener(ResultEvent.RESULT, getDataHandler);
jsonService.addEventListener(FaultEvent.FAULT,faltHandler);
jsonService.send();
得到数据后的处理(json)(未验证):
private function getDataHandler(e:ResultEvent):void
{
var objectStr:String=event.result as String;
var JsonObj:Object =com.adobe.serialization.json.JSON.decode(objectStr);//目的是组装json
}
得到数据后的处理(xml):
private function getDataHandler(e:ResultEvent):void
{
var xml:XML=new XML(e.message.body.toString());
}
下载文件
代码示意:
var urlReq:URLRequest;
var fileRef:FileReference;
urlReq = new URLRequest(pdfUrl);
fileRef = new FileReference();
fileRef.addEventListener(Event.COMPLETE, downloadComplateHandler);
fileRef.addEventListener(Event.OPEN, startDownload);
fileRef.addEventListener(HTTPStatusEvent.HTTP_STATUS, doEvent);
fileRef.addEventListener(IOErrorEvent.IO_ERROR, doEvent);
fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, doEvent);
fileRef.download(urlReq);
以上代码会调用系统的下载保存页面。
打开浏览器显示特定内容
示例代码:
navigateToURL(new URLRequest(pdfUrl), "_blank");
其中pdfUrl是包含请求参数的请求字符串。
使用URL后出错提示有非法字符
检查字符串中是否有Uncode编码,采用顶级函数decodeURI进行转换,用转换后的字符串内容替换。