创建弹出窗口的图片展示

本帖最后由 oisweb 于 2009-11-24 14:11 编辑





图片有点大了 显示不是很好 自己看着办吧
1 创建工程 设置页面属性

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
     horizontalAlign="center"  verticalAlign="middle" >

2 创建xml文件 读取图片

<?xml version="1.0"?>
<gallery>

    <movie>
            <pic>1.jpg</pic>
            <title>腾焰飞芒</title>
            <date>腾焰飞芒</date>
    </movie>
    
    <movie>
            <pic>2.jpg</pic>
            <title>凌波微步</title>
            <date>凌波微步</date>
    </movie>


    <movie>
            <pic>3.jpg</pic>
            <title>飞侠失足</title>
            <date>飞侠失足</date>
    </movie>
    
        <movie>
            <pic>4.jpg</pic>
            <title>得失寸心知</title>
            <date>得失寸心知</date>
    </movie>
    
    <movie>
            <pic>5.jpg</pic>
            <title>直冲云霄</title>
            <date>直冲云霄</date>
    </movie>


    <movie>
            <pic>6.jpg</pic>
            <title>势不可挡</title>
            <date>势不可挡</date>
    </movie>   
    
     <movie>
            <pic>7.jpg</pic>
            <title>鹰击长空</title>
            <date>鹰击长空</date>
    </movie>
    
    <movie>
            <pic>8.jpg</pic>
            <title>凝神聚气</title>
            <date>凝神聚气</date>
    </movie>


    <movie>
            <pic>9.jpg</pic>
            <title>风激电飞</title>
            <date>风激电飞</date>
    </movie>    
    
    <movie>
            <pic>10.jpg</pic>
            <title>百万吨暴扣</title>
            <date>百万吨暴扣</date>
    </movie>
    
    <movie>
            <pic>11.jpg</pic>
            <title>虎视眈眈</title>
            <date>虎视眈眈</date>
    </movie>


    <movie>
            <pic>12.jpg</pic>
            <title>一意专心</title>
            <date>一意专心</date>
    </movie>
</gallery>

3 创建图片文件夹 images 放要展示的图片
4 加入<mx:HTTPService id="service" url="images.xml" result="serviceHandler(event)"/>
5好 开始写代码把 先as吧
<mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.rpc.events.ResultEvent;

            [Bindable]
            private var movies:ArrayCollection;

            private function serviceHandler(event:ResultEvent):void{
                movies = event.result.gallery.movie;
            }

        ]]>
</mx:Script>


6 读取xml数据 我们需要呼叫httpservice

头顶加入send()方法
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
     horizontalAlign="center"  verticalAlign="middle"
     creationComplete="service.send()" >

7 缩略图展示我们用TileList组件 

<mx:TileList id="moviesList" dataProvider="{movies}"
        direction="horizontal"
        width="800" height="450" rowHeight="150" columnWidth="200">
        <mx:itemRenderer>
            <mx:Component>
                <mx:VBox horizontalAlign="center" verticalAlign="middle">
                    <mx:Image source="images/thumbs/{data.pic}"/>
                    <mxabel text="{data.date}" />
                </mx:VBox>
            </mx:Component>
        </mx:itemRenderer>
    </mx:TileList>

8 有了缩略图 我们要最终显示大图片 我们建一个自定义组件mx:TitleWindow
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical" width="400" height="520"
        horizontalAlign="center"
        showCloseButton="true"
        close="closeWindow(event);" >

        <mx:Script>
                <![CDATA[

                        import mx.events.CloseEvent;
                        import mx.managers.PopUpManager;

                        [Bindable]
                        public var sourceImage:String;

                        private function closeWindow(e:CloseEvent):void {
                                PopUpManager.removePopUp(this);
                        }

                ]]>
        </mx:Script>

        <mx:Image source="{sourceImage}"/>

</mx:TitleWindow>
9 同时为使弹出窗口更加得心应手,我们希望能够关闭它 ,只是上按一下。为此,我们要派出一个click事件侦听CloseEvent。
<mx:TileList id="moviesList" dataProvider="{movies}"
        direction="horizontal"
        width="800" height="450" rowHeight="150" columnWidth="200"
        click="launchPopUp(event)">
10 返回主文件增加点击事件
<mx:TileList id="moviesList" dataProvider="{movies}"
        direction="horizontal"
        width="800" height="450" rowHeight="150" columnWidth="200"
        click="launchPopUp(event)">

11 增加

private function launchPopUp(e:MouseEvent):void {
        if(moviesList.selectedItem){
              var win : Window = new Window();
              win.sourceImage = "images/"+moviesList.selectedItem.pic;
              win.title =  moviesList.selectedItem.title;
              PopUpManager.addPopUp(win,this,true);
              PopUpManager.centerPopUp(win);
        }
}

12 ok !具体看最终代码吧 图片文件夹内容自己加吧 给出三个文件

Main.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" 
     horizontalAlign="center"  verticalAlign="middle"
     creationComplete="service.send()" viewSourceURL="srcview/index.html">
    
    <mx:Style>   
            global{
                         modalTransparency : .8;
                        modalTransparencyColor : #000000;
                 }    
                 Application{
                          backgroundGradientColors: #ffffff, #ffffff;
                           backgroundGradientAlphas: 1, 1;
                 } 
        TileList{
            selectionColor:  #717070;
            rollOverColor: #CCCCCC;
            borderStyle : none;
        }
        TitleWindow{
                         borderColor : #C1C1C1;
                         borderAlpha : .8;
                         fontSize : 14;
                         fontFamily :Georgia;
                         fontWeight : bold ;
                         color : #FFFFFF;
                 }
                 Label{
                         color : #000000;
                         fontStyle : italic; 
                 }
    </mx:Style>
    
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.rpc.events.ResultEvent;
            import mx.managers.PopUpManager;
            
            [Bindable]
            private var movies:ArrayCollection;
            
            private function serviceHandler(event:ResultEvent):void{
                movies = event.result.gallery.movie;
            }
            
            private function launchPopUp(e:MouseEvent):void {
                                if(moviesList.selectedItem){
                                        var win : Window = new Window();
                                        win.sourceImage = "images/"+moviesList.selectedItem.pic;
                                        win.title =  moviesList.selectedItem.title;
                                        PopUpManager.addPopUp(win,this,true);
                                        PopUpManager.centerPopUp(win);
                                }
                        }
            
        ]]>
    </mx:Script>

    <mx:HTTPService id="service" url="images.xml" result="serviceHandler(event)"/>
    <mx:TileList id="moviesList" dataProvider="{movies}" 
        direction="horizontal"
        width="100%" height="100%" rowHeight="250" columnWidth="200"
        click="launchPopUp(event)">
        <mx:itemRenderer>
            <mx:Component>
                <mx:VBox horizontalAlign="center" verticalAlign="middle">
                    <mx:Image source="images/thumbs/{data.pic}"/>
                    <mxabel text="{data.date}" />
                </mx:VBox>
            </mx:Component>
        </mx:itemRenderer>
    </mx:TileList>
   
</mx:Application>

images.xml

<?xml version="1.0"?>
<gallery>

    <movie>
            <pic>1.jpg</pic>
            <title>腾焰飞芒</title>
            <date>腾焰飞芒</date>
    </movie>
    
    <movie>
            <pic>2.jpg</pic>
            <title>凌波微步</title>
            <date>凌波微步</date>
    </movie>


    <movie>
            <pic>3.jpg</pic>
            <title>飞侠失足</title>
            <date>飞侠失足</date>
    </movie>
    
        <movie>
            <pic>4.jpg</pic>
            <title>得失寸心知</title>
            <date>得失寸心知</date>
    </movie>
    
    <movie>
            <pic>5.jpg</pic>
            <title>直冲云霄</title>
            <date>直冲云霄</date>
    </movie>


    <movie>
            <pic>6.jpg</pic>
            <title>势不可挡</title>
            <date>势不可挡</date>
    </movie>   
    
     <movie>
            <pic>7.jpg</pic>
            <title>鹰击长空</title>
            <date>鹰击长空</date>
    </movie>
    
    <movie>
            <pic>8.jpg</pic>
            <title>凝神聚气</title>
            <date>凝神聚气</date>
    </movie>


    <movie>
            <pic>9.jpg</pic>
            <title>风激电飞</title>
            <date>风激电飞</date>
    </movie>    
    
    <movie>
            <pic>10.jpg</pic>
            <title>百万吨暴扣</title>
            <date>百万吨暴扣</date>
    </movie>
    
    <movie>
            <pic>11.jpg</pic>
            <title>虎视眈眈</title>
            <date>虎视眈眈</date>
    </movie>


    <movie>
            <pic>12.jpg</pic>
            <title>一意专心</title>
            <date>一意专心</date>
    </movie>
</gallery>

Window.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 
        layout="absolute" width="100%" height="100%"
        horizontalAlign="left"
        showCloseButton="true"
        close="closeWindow(event);" 
        click="dispatchEvent(new CloseEvent(CloseEvent.CLOSE));">
        
        <mx:Script>
                <![CDATA[
                
                        import mx.events.CloseEvent;
                        import mx.managers.PopUpManager;
                        
                        [Bindable]
                        public var sourceImage:String;
                        
                        private function closeWindow(e:CloseEvent):void {
                                PopUpManager.removePopUp(this);
                        }
                        
                ]]>
        </mx:Script>
        
        <mx:Image source="{sourceImage}"/>
        
</mx:TitleWindow>

转载于:https://www.cnblogs.com/programmer-wind/archive/2012/02/22/2919554.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移植gdb到DM368 IPNC中 linux arm gdb

From: http://blog.csdn.net/ghostyu/article/details/8081897 移植gdb到嵌入式的ipnc中&#xff0c;大多数人习惯使用printf调试&#xff0c;但是遇到像”segment fault“这的错误也是后就很难定位&#xff0c;这时候gdb的作用就体现出来了 在pc使用gdb调试应用程序前&…

Silverlight实用窍门系列:56.Silverlight中的Binding使用(一)【附带实例源码】

本文将详细讲述Silverlight中Binding&#xff0c;包括Binding的属性和用法&#xff0c;Binding的数据流向。 Binding:一个完整的Binding过程是让源对象中的某个属性值通过一定流向规则进行转换和验证之后绑定到目标对象的某个属性上面。这个源对象由ElementName指定&#xff0c…

jqGrid + JSON + WebService 完整示例

真没找到这样的例子&#xff0c;于是自已写了个&#xff0c;分享出来。 第一步&#xff0c;首先在WebService上&#xff0c;添加[System.Web.Script.Services.ScriptService]属性标签&#xff0c;让WebServer支持JSON. namespace jqGrid_JSON_WebService_Sample.Services{/// &…

交叉编译和交叉调试环境搭建及使用

From: http://blog.chinaunix.net/uid-25119314-id-226230.html 1. 交叉编译器 1.1 交叉编译器介绍 在一种计算机环境中运行的编译程序&#xff0c;能编译出在另外一种环境下运行的代码&#xff0c;我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说&…

Hello Views之Spinner(yaozq翻译,仅供参考)

Spinner是一种类似于下拉列表的widget。 在这个教程中&#xff0c;你将创建一个简单的用于展示星球列表的spinner组件。当选择列表中的一项时&#xff0c;将会弹出一个表示所选项的toast信息。下面是具体步骤&#xff1a; 1&#xff0c;新建一个名为HelloSpinner的项目。 2&…

Bitmap 之 getPixels() 的 stride

学习Graphics中遇到位图(Bitmap)中getPixels()方法&#xff0c;对该方法的用法大体理解&#xff0c;但对其中的stride参数却不明白具体的用法以及用意&#xff0c;现记述过程如下&#xff1a; getPixels()方法的用处为获取位图(Bitmap)中的像素值(颜色值)&#xff0c;存入类型为…

i++ 和 ++i 效率的分析以及自定义类型的自增/自减运算符重载实例

From: http://blog.csdn.net/leo115/article/details/8101541 我们通常在写for循环 的时候&#xff0c;要实现变量 i 的自增 1 &#xff1b;往往会在i 和i中随便挑一种写&#xff0c;对于i和i的理解&#xff0c;我们往往停留在返回的值的不同&#xff0c;其实i与i在实现效率上…

BZOJ 1146: [CTSC2008]网络管理Network( 树链剖分 + 树状数组套主席树 )

树链剖分完就成了一道主席树裸题了, 每次树链剖分找出相应区间然后用BIT(可持久化)权值线段树就可以完成计数. 但是空间问题很严重....在修改时不必要的就不要新建, 直接修改原来的..详见代码. 时间复杂度O(N*log^3(N))------------------------------------------------------…

struts2遍历select

2019独角兽企业重金招聘Python工程师标准>>> <s:bean name"org.apache.struts2.util.Counter" id"counter"> <s:param name"first" value"1" /> <s:param name"last" value"pageCount"…

Oracle 彻底 kill session

为什么80%的码农都做不了架构师&#xff1f;>>> --*************************** -- Oracle 彻底 kill session --*************************** kill session 是DBA经常碰到的事情之一。如果kill 掉了不该kill 的session&#xff0c;则具有破坏性&#xff0c;因此尽…

WebService学习总结——调用第三方提供的webService服务

互联网上面有很多的免费webService服务&#xff0c;我们可以调用这些免费的WebService服务&#xff0c;将一些其他网站的内容信息集成到我们的Web应用中显示&#xff0c;下面就以获取天气预报数据。气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server)…

【017】◀▶ C#学习(九) - ADO.NET

《C#入门经典&#xff08;中文第四版&#xff09;》在程序中访问数据库学习笔记 --------------------------------------------------------------------------------------------------------- ●● 目录&#xff1a; A0 ………… System.Data.SqlClient 命名空间 A1 ……………

【转】主流PHP框架间的比较(Zend Framework,CakePHP,CodeIgnit...

2019独角兽企业重金招聘Python工程师标准>>> 【转】主流PHP框架间的比较&#xff08;Zend Framework&#xff0c;CakePHP&#xff0c;CodeIgniter&#xff0c;Symfony&#xff0c;ThinkPHP&#xff0c;FleaPHP&#xff09; 2011年08月14日 星期日 12:51 转载自 leol…

如何利用业务时间提升自我

转载于:https://www.cnblogs.com/helloIT/articles/5140273.html

ping得通外网,上得了QQ,游戏,却打不开网页。

操作系统&#xff1a;win7_64bit 下午帮我小艾优化电脑&#xff0c;不知道把什么插件给卸载了。 她回来以上就上不了网&#xff0c;我首先ping网关&#xff0c;DNS&#xff0c;外网&#xff0c;都通。 登QQ正常。 我的思路&#xff1a; 先把Socket套字结相关的卸载掉就是&#…

WebGIS中一种根据网格索引判断点面关系的方法

文章版权由作者李晓晖和博客园共有&#xff0c;若转载请于明显处标明出处&#xff1a;http://www.cnblogs.com/naaoveGIS/。 1.背景 判断点面关系的算法有很多&#xff0c;在我之前的博文中有一篇专门对其进行了描述&#xff1a;判断点是否落在面中的Oracle存储过程描述。其中提…

为Ubuntu Server 安装图形桌面环境

From: http://www.oschina.net/question/12_10835 第一步&#xff1a;安装桌面环境 首先需要确保您已经在/etc/apt/sources.list 文件中启用了Universe和Multiverse软件库&#xff0c;接下来执行如下命令&#xff1a; sudo apt-get update sudo apt-get install ubuntu-desk…

iSensor APP 之 摄像头调试 OV3640 OV2640 MT9d112

iSensor app 非常适合调试各种摄像头&#xff0c;已测试通过的sensor有&#xff1a; l OV7670、OV7725、OV9650、OV9655、OV9653、OV5642、OV5640 l MT9T001、MT9M001、MT9P031 今天又测试了上述几款新的型号&#xff0c;之前并未用过。 OV3640 OV2640 MT9d112 先看OV2640&am…

查询优化器内核剖析第四篇:从一个实例看执行计划

查询优化器内核剖析第四篇&#xff1a;从一个实例看执行计划系列文章索引&#xff1a; 查询优化器内核剖析第一篇 查询优化器内核剖析第二篇&#xff1a;产生候选执行计划&执行计划成本估算 查询优化器内核剖析第三篇&#xff1a;查询的执行与计划的缓存 &…

Makefile中自定义函数的调用

From: http://www.cnblogs.com/MyEyes/archive/2012/01/12/2320589.html 自己学习脚印&#xff0c;不喜勿喷&#xff0c;谢谢 ~ Makefile中函数定义&#xff1a; external/genext2fs/Config.mk # $(1): src directory # $(2): output file # $(3): label (if any) # $(4): …