关于flex在做项目中遇到的问题
最近用flex来做一个工作流定义编辑器。在网上找了很多例子,也学到了不少东西。
flex是adobe公司出的对于flash的一个产品。对于学过java的人来说再简单不过了。这里也不多说了,就对于这几天在项目中遇到的问题谈一下自己的解决方法与认识。
一、flex中将自己的一个Canvas变成为图片,保存到本地。
var bitmapData:BitmapData = new BitmapData(myCanvas.width, myCanvas.height);
bitmapData.draw(myCanvas,new Matrix());
var byteArray:ByteArray = new JPEGEncoder(80).encode(bitmapData);
这里变成了一个字节数组,
保存本地可以用(FileReference):fr.save(byteArray,filename);
远程的可以用:
var request:URLRequest = new URLRequest(url);
request.method=URLRequestMethod.POST;
request.contentType = "application/octet-stream";//
request.data = byteArray;
var loader:URLLoader = new URLLoader();
try{
loader.load(request);
}catch (error:Error) {
Alert.show("上传失败");
}
二、关于给as中的变量从外部给予初始值。这个我用的是javascript。
as中:
--------------------------------------------------------------------
ExternalInterface.addCallback("setSessionId",setSessionId);//给javascript调用的接口
private function setSessionId(argId:String):void{
fileUpload.JSessionId = argId;
}
--------------------------------------------------------------------------------
相关文档:
var request:URLRequest = new URLRequest('lx2.html');
navigateToURL(request,"_top");
"_top" 类似于html中的target
"_self" 指定当前窗口中的当前帧。
"_blank" 指定一个新窗口。
"_parent" 指定当前帧的父级。
"_top" 指定当前窗口中的顶级帧。
function check(us ......
A界面,B界面
A调用B,B中有TabNavigator
我想在A中获得B第二个标签的控件。报空值异常
---解决办法
在TabNavigator属性中添加creationPolicy=“all”,意思是TabNavigator创建的时候所有子视图全部实例化,否则只实例化默认视图,虽然这样做会导致程序启动稍微慢一些。 ......
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flashx.textLayout.formats.BackgroundColor;
import spark.effects.interpolation.RGBInterpolator;
public class Map extends Sprite implements IMap
{
//格子的宽高
private va ......
1.关于flex调试出错新的解决思路:除了网上说的flash debug版本没装外,nod杀毒软件也是一个问题 还有就是调试模式的问题 有本地模式和远程模式 具体修改方式调试状态下右击调试器选择自己想要的. 2.flex绑定数组删除元素后list没有更新数据 可以用invalidateList() 3.progressBar进度没更新可能是mode设定的原因 ......