多种方式在List中显示图片

主要技术点:
  • itemRender,在list中显示图片和文字
  • ProgressBar,显示大图时,使用进度条
  • variableRowHeight,在list上显示图片,设置这个属性,才可以根据图片的高度自动调整
代码:
1  <? xml version="1.0" encoding="utf-8" ?>
2  < mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml" layout ="vertical" horizontalAlign ="left"
3      creationComplete ="photoService.send()" >
4 
5      < mx:HTTPService id ="photoService" resultFormat ="e4x"
6          url ="http://greenlike.com/flex/learning/projects/photogallery/photos.xml" />
7      < mx:Script >
8          <![CDATA[
9              import mx.events.ListEvent;
10              [Bindable]
11              private var currentImage: String;
12             
13              private function selectPhoto(event: ListEvent): void
14              {
15                  currentImage = event.target.selectedItem.@image;
16              }
17             
18              private function loadThumb(): void
19              {
20                 
21              }
22          ]]>
23      </ mx:Script >    
24      < mx:HDividedBox width ="100%" height ="100%" >
25          < mx:TabNavigator width ="200" height ="100%" >
26              < mx:Box label ="List View" height ="300" >
27                  < mx:List width ="100%" height ="100%" borderStyle ="none"
28                      dataProvider ="{photoService.lastResult.photo}"
29                      labelField ="@title"
30                      change ="selectPhoto(event)" >
31                  </ mx:List >
32              </ mx:Box >
33              < mx:Box label ="Small View" >
34                  <!-- variableRowHeight属性很有用,可以根据内部组件的高度自动调整行的高度,使每行可以不等高,这个功能曾经让我找了很久 -->
35                  < mx:List width ="100%" height ="100%" borderStyle ="none"
36                      dataProvider ="{photoService.lastResult.photo}"
37                      labelField ="@title"
38                      variableRowHeight ="true"
39                      change ="selectPhoto(event)" >
40                      < mx:itemRenderer >
41                          < mx:Component >
42                              < mx:HBox >
43                                  < mx:Image source ="{data.@thumb}" />
44                                  < mx:Text text ="{data.@title}" width ="100%" />
45                              </ mx:HBox >                            
46                          </ mx:Component >
47                      </ mx:itemRenderer >
48                  </ mx:List >
49              </ mx:Box >
50              < mx:VBox label ="View(Using Repeater)" >
51                  < mx:Repeater id ="rep" dataProvider ="{photoService.lastResult.photo}" >
52                      < mx:HBox paddingLeft ="6" paddingRight ="6"
53                          buttonMode ="true" >
54                          < mx:Image source ="{rep.currentItem.@thumb}"   />
55                          < mx:Text text ="{rep.currentItem.@title}" />
56                      </ mx:HBox >
57                  </ mx:Repeater >
58              </ mx:VBox >
59          </ mx:TabNavigator >
60          < mx:Box horizontalAlign ="center" verticalAlign ="middle"  
61              width ="100%" height ="100%" borderColor ="black" borderStyle ="solid" borderThickness ="1" >
62              <!-- 这个进度条太只能了,指定source属性就都搞定了 -->
63              < mx:ProgressBar id ="pb" source ="img" />
64              < mx:Image id ="img" source ="{currentImage}" />
65          </ mx:Box >
66         
67      </ mx:HDividedBox >
68  </ mx:Application >
效果:
xiaoguo

转载于:https://www.cnblogs.com/iihe602/archive/2009/08/18/1549326.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值