2010-07-31 104 views
0

scolling List組件內的圖像時,我有一個顯示的照片就像他們的列表:奇怪顯示Flex中

   <s:List id="thumnPhotosList" 
        dataProvider="{_model.photoAlbumToCreate.photos}" 
        height="450" 
        itemRenderer="PhotoRenderer" > 
       <s:layout> 
        <s:TileLayout orientation="columns" 
            requestedRowCount="4" 
            requestedColumnCount="3" /> 
       </s:layout> 
      </s:List> 

和PhotoRenderer有這樣的代碼:

...... 

<mx:Image source="{_model.url + theAlbumPhoto.thumbPhotoURL}" 
          visible="{theAlbumPhoto.ready}" 
          maintainAspectRatio="true" 
          maxWidth="{Constants.DEFAULT_ALBUM_PHOTO_WIDTH}" maxHeight="{Constants.DEFAULT_ALBUM_PHOTO_HEIGHT}" />  

........ 

除了當工作正常照片數量變高,滾動條出現,開始出現怪異現象:它開始顯示與其應有的照片不同的照片,如果我滾動回到開始處並再次滾動到新照片,其他照片有時會出現正確的照片,有時不會顯示。不知道如何解決這個問題,有什麼想法?你也可以推薦不同的方式,而不是使用s:List,如果這樣做更容易。

+1

你能提交一個可複製的測試用例的錯誤嗎? http://bugs.adobe.com/flex – 2010-07-31 12:15:39

+0

我試圖重現與單獨的應用程序的問題,但我不能。可能是由於我的應用程序的複雜性或者它不起作用。我發佈了以下適用於我的代碼,以防某人遇到類似問題。 – Tam 2010-08-03 04:39:24

回答

0

因爲我無法弄清楚問題是什麼,也無法在獨立應用程序中重現它。我想出了以下代碼解決該問題:

   <s:Scroller id="photoScroller" 
         width="100%" 
         visible="{_model.photoAlbumToCreateOrUpdate.photos.length > 0}" 
         horizontalScrollPolicy="off" verticalScrollPolicy="auto" 
         skinClass="com.lal.skins.PhotoAlbumScrollerSkin" 
         top="50" bottom="0"> 

        <s:DataGroup id="thumnPhotosList" 
            dataProvider="{_model.photoAlbumToCreateOrUpdate.photos}" 
            itemRenderer="AlbumPhotoThumbRenderer" > 
         <s:layout> 
          <s:TileLayout orientation="rows" 
              requestedRowCount="4" 
              requestedColumnCount="4" /> 
         </s:layout> 
        </s:DataGroup> 
      </s:Scroller> 
0

我有與文本列表相同的問題,我認爲它的填充問題,組織它可能幫助所有組件的pading。

0

我有同樣的問題,在我使用TileList中自定義項目渲染一個圖像組件。我沒有真正知道如何修復它,但問題是項目渲染器中Image組件的源屬性。

使用項目渲染器的想法是使用data變量來訪問提供渲染器的項目。 _modeltheAlbumPhoto變量在你的渲染器中引用了什麼?我最終做的是將源屬性更改爲更像data.image_path,並決定開始工作。

如果您對您的解決方案感到滿意,希望這至少可以幫助別人。