Mar 09
这个例子是应一个忠实读者的要求,其中提到了当用户点击了HorizontalList控件中的缩小图片时,如何显示其完整的图片的问题。我的解决方案是将缩小图片和原始图片的URL作为提供的数据,绑定在HorizontalList控件的selectedItem属性中。
下面是具体的例子以及源代码:
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <!-- http://blog.flexexamples.com/2008/02/15/creating-a-simple-image-gallery-with-the-flex-horizontallist-control/ -->
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="top"
- backgroundColor="white">
- <mx:Array id="arr">
- <mx:Object label="Flex"
- thumbnailImage="assets/fx_appicon-tn.gif"
- fullImage="assets/fx_appicon.jpg" />
- <mx:Object label="Flash"
- thumbnailImage="assets/fl_appicon-tn.gif"
- fullImage="assets/fl_appicon.jpg" />
- <mx:Object label="Illustrator"
- thumbnailImage="assets/ai_appicon-tn.gif"
- fullImage="assets/ai_appicon.jpg" />
- <mx:Object label="Dreamweaver"
- thumbnailImage="assets/dw_appicon-tn.gif"
- fullImage="assets/dw_appicon.jpg" />
- <mx:Object label="ColdFusion"
- thumbnailImage="assets/cf_appicon-tn.gif"
- fullImage="assets/cf_appicon.jpg" />
- <mx:Object label="Flash Player"
- thumbnailImage="assets/fl_player_appicon-tn.gif"
- fullImage="assets/fl_player_appicon.jpg" />
- <mx:Object label="Fireworks"
- thumbnailImage="assets/fw_appicon-tn.gif"
- fullImage="assets/fw_appicon.jpg" />
- <mx:Object label="Lightroom"
- thumbnailImage="assets/lr_appicon-tn.gif"
- fullImage="assets/lr_appicon.jpg" />
- <mx:Object label="Photoshop"
- thumbnailImage="assets/ps_appicon-tn.gif"
- fullImage="assets/ps_appicon.jpg" />
- </mx:Array>
- <mx:Panel title="{horizontalList.selectedItem.label}"
- height="100%"
- horizontalAlign="center">
- <mx:Image id="img"
- source="{horizontalList.selectedItem.fullImage}"
- maintainAspectRatio="true"
- horizontalAlign="center"
- width="{horizontalList.width}"
- height="100%" />
- <mx:ControlBar horizontalAlign="center">
- <mx:HorizontalList id="horizontalList"
- labelField="label"
- iconField="thumbnailImage"
- dataProvider="{arr}"
- itemRenderer="CustomItemRenderer"
- columnCount="4"
- columnWidth="125"
- rowCount="1"
- rowHeight="100"
- horizontalScrollPolicy="on" />
- </mx:ControlBar>
- </mx:Panel>
- </mx:Application>
下面是自定义的ItemRenderer设置文件:
Download: CustomItemRenderer.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <!-- http://blog.flexexamples.com/2008/02/15/creating-a-simple-image-gallery-with-the-flex-horizontallist-control/ -->
- <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
- horizontalAlign="center"
- verticalAlign="middle">
- <mx:Image source="{data.thumbnailImage}" />
- <mx:Label text="{data.label}" />
- </mx:VBox>
下面是执行实例(可以右键察看源代码):
原文作者:Peter deHaan 翻译:minidxer
Related Post
4 Responses to “利用Flex的HorizontalList控件创建一个简单的图片展示(相册)”
Trackbacks
- 利用Flex的TileList控件创建一个简单的图片展示(相册)的例子 - 全文检索博客
- Flex中利用HTTPService标签动态导入XML文件的例子 - 全文检索博客
- Flex中如何利用树形控件(Tree Control)和SWFLoader控件创建简单图片相册的例子 - 全文检索博客
- Flex做的连续滚动的相册缩略图组件(附源代码) - 全文检索博客
