最近Build新工程, 在Build文件中已经包含了locale文件, 但Build出来仍旧只是英文…后来想起来是自己的flex-config文件没有改…:(.如果要在Build中包含Localization, 则需要对flex-config.xml进行配置: 将要build的语言包加到<locale>标签中, 如下:
<locale>
<locale-element>en_US</locale-element>
<locale-element>zh_CN</locale-element>
</locale>
flex-config.xml文件地址: ..\flash_builder_4.0\FB\sdks\4.0.0\frameworks
如果是所有的都失效可参照:
http://www.airtightinteractive.com/2010/01/fix-for-flash-builder-content-assist-did-not-complete-normally/ 或:
https://jira.jboss.org/browse/JBIDE-1061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel#issue-tabs
但如果只有个别的Class失效, 你需要:
查看Outline显示是否正确, 此时可能不会显示任何Property或Method
这个问题极有可能是代码出现问题, 但不会提示错误, 也能正常工作.
解决方法就是一段段的注释掉, 保存, 查看Outline显示是否正常, 譬如一下代码
var s:String = new (String)(“test”); // 一般没人这么写… :(, 但在通过传进来的Class创建Instance时, 发现这么一行…
这行代码不会报错, 也正常工作, 但只要因为Class被括号包住了, Outline无显示, 代码提示失效.
修改正确后, 代码提示正常工作. var s:String = new String(“test”);
相应的在JDT中, 会直接报错, 但FB IDE不报错, 也无法解析当前源代码, 睁一只眼闭一只眼…
记得在使用Flex4之前, 看过一篇介绍TextArea自适应高度的文章, 监听Event, 动态改变高度. 很少用TextArea, 也没用过. 在Flex4, 使用Spark界面时, TextArea可设为自动适应.
设置heightInLines = NaN - 如果该属性为 NaN
(默认值),则组件的默认高度由要显示的文本确定。
See: http://tinyurl.com/2ubwrta
但当鼠标在TextArea之上时, 鼠标滚动, 整个Application的scrollbar竟然没反应…猜是没有dispatch event, 于是增加监听函数:
/** 响应TextArea的鼠标滚动事件, 接收到后派发出去, 以便引起外部UI可获得该事件, 并进行响应的滚动. */ protected function onMouseEventWheel(e:MouseEvent):void { dispatchEvent(e); }
妥了.
尚未发现Flex中有可以直接渲染HTML代码的组件, 但可通过服务器端配合实现预览.
原理: Flex(尤指AIR环境), 使用URLLoader发送POST请求, 将要预览的HTML代码发送到服务器端Servlet, 服务器端收到请求后创建临时文件, 将HTML存到临时文件中. Flex端收到URLLoader Complete事件后, 使用navigateToURL navigate到Servlet上(使用GET), Servelet 返回文件内容 —- 在上述过程中, Flex端生成UUID作为代码读写的key.
TinyURL 提供了极其简单易用的网址缩短API. 使用”http://tinyurl.com/api-create.php?url=http://liguoliang.com/“即可获得缩短链接. 这里是使用Flex制作的一个网址缩短小工具:
主要代码供热爱学习的同学们查阅: 主要是HTTPService
/** On short url button.*/ protected function onButtonClick(event:MouseEvent):void { CursorManager.setBusyCursor(); var currentUrlRaw:String = StringUtils.trim(textURLRaw.text); var service:HTTPService = new HTTPService(); service.addEventListener(ResultEvent.RESULT, onExecuteSuccess); service.addEventListener(FaultEvent.FAULT, onExecuteError); service.method = URLRequestMethod.GET; // Like : http://tinyurl.com/api-create.php?url=http://liguoliang.com/ var serviceUrl:String = "http://tinyurl.com/api-create.php?url=" + currentUrlRaw; service.url = encodeURI(serviceUrl); service.resultFormat = HTTPService.RESULT_FORMAT_TEXT; service.send(); } private var lastShortUrl:String; /** on API call success. */ protected function onExecuteSuccess(e:ResultEvent):void { CursorManager.removeBusyCursor(); lastShortUrl = e.result.toString(); textInfo.text = "短网址生成成功:" + lastShortUrl + "(点此复制->)"; buttonCopy.enabled = true; } /** on fault. */ protected function onExecuteError(e:FaultEvent):void { CursorManager.removeBusyCursor(); Alert.show("Error: " + e.toString()); }
See: http://www.richardcastera.com/2009/05/09/creating-a-tinyurl-with-tinyurl-api/
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.