flex AIR 加载pdf文件
前几天一直被为什么我的pdf文件无法在air程序中显示出来烦着.
在几个不同的论坛发了帖子,可是回答的人寥寥无几, 我都怀疑是不是我的问题太简单了,大家都没有去回答的欲望, 毕竟我才接触flex.
今天早上终于想出了答案:
原来必须在正确安装了air程序之后才能加载pdf文件.
我的程序没有错,错在我是在Flex builder下运行的.
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()" currentState="page1">
<mx:states>
<mx:State name="page1">
<mx:AddChild position="lastChild">
<mx:HTML x="123" y="74" id="container" width="600" height="400"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:Script>
<!--[CDATA[
import flash.html.HTMLPDFCapability; //use HTMLPDFCapability
import flash.html.HTMLLoader; //use HTMLLoader
import mx.controls.Alert; //use Alert
public function initApp():void
{
//check Adobe Reader 8.1 or above capability
if(HTMLLoader.pdfCapability==HTMLPDFCapability.STATUS_OK)
{
var pdf:HTMLLoader = new HTMLLoader(); //HTML Control
var request:URLRequest = new URLRequest("c:/pdf/generated.pdf");//URLRequest example
pdf.height = 400; //set pdf height
pdf.width = 600; //set pdf width
pdf.load(request); //load pdf
container.addChild(pdf); //put pdf in HTML container
}
else
Alert.show("pdf cant display, not Adobe Reader 8.1 and above version");
}
]]
相关文档:
一、自定义Panel组件
package test
{
import mx.containers.Panel;
import mx.core.UIComponent;
/**
* 自定义Panel
* **/
public class MyPanel extends Panel
......
在Flex里,一般的弹出窗口(除了Alert以外)都可以用TitleWindow组件完成,主窗口和TitleWindow的数据传输可以用以下方法
假设TitleWindow的实例文件为titleWin.mxml,则要在Application中用PopUpManager创建一个titleWin的引用
private var popWin:titleWin = titleWin(PopUpManager.createPopUp(this,titleWin,true) ......
FLEX--仿Google联想框效果--现在好多地方都用到了这样的效果,当然,现在Google下线了,不让用了,但是跟网上说的一样,想办法,它还是能出来的
首先是事件源,也就是从何而起,如下的一个输入框:
复制代码 代码如下:
<mx:FormItem label="集团客户:" width="42%">
<!--change1-->
<mx:TextInput id="txt ......
了解Flex程序的生命周期
Flex程序从本质上讲,就是使用了(由AS编写的)Flex框架的Flash程序。
但在Flex程序中可以忽略timeline这个概念,所有的内容都集于一帧。
事实上Flex程序中的根,是继承flash.display.MovieClip的mx.managers.SystemManager。
SystemManager有两帧。第一帧是预加载程序,第二帧是主程序。
因此 ......