0

私はこれを解決できないようです。配列を変更せずに、配列コレクション内の特定の位置から始まるリストを表示したい。目標は、ユーザーが (電子ブックのように) スワイプできるフルスクリーン画像のセットを用意することです。チャプター インデックスについては、配列コレクション内の特定のインデックス番号から始めたいと考えています。

配列コレクション内の特定のインデックス番号から開始するように Itemrenderer に指示する簡単な方法はありますか。

インデックス 0 から始まる私のコード:

<s:List id="pagedList"
        width="100%" height="100%"
        verticalScrollPolicy="off" horizontalScrollPolicy="on"
        pageScrollingEnabled="true">

    <s:layout>
        <s:TileLayout orientation="rows" requestedRowCount="1" 
                      columnWidth="{pagedList.width}" rowHeight="{pagedList.height}" 
                      verticalGap="0" horizontalGap="0"/>
    </s:layout>
    <s:ArrayCollection id="contentData">
        <s:Image source="assets/cover.jpg"/>
        <s:Image source="assets/introduction.jpg"/>
        <s:Image source="assets/H1/40_days.jpg"/>
    </s:ArrayCollection>
    <s:itemRenderer>
        <fx:Component>
            <s:ItemRenderer>
                <s:Group>
                    <s:Image source="{data.source}" horizontalAlign="center"/>
                </s:Group>
            </s:ItemRenderer>
        </fx:Component>
    </s:itemRenderer>  
</s:List>

4

4 に答える 4

1

すべてはデータから始まります。データ自体には、チャプター オフセットに関する情報が含まれている必要があります。通常、オフセット シーク ポイントのコレクションを格納します。

例えば:

Pages:     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Chapters:  1     2       3   4        5

章オブジェクトは、開始するページとその全体の長さへの参照を保持します。シーク ボタンのセットは、チャプター コレクションを繰り返し処理し、リストに適切なオフセット (つまり、チャプター 2、インデックス 4 から始まり、4 項目の長さ) から開始するように指示します。

ページ オブジェクトは、単一の画像、またはページごとの画像のコレクションのいずれかです。どちらの場合でも、データの観点から実際に構築しているのは階層的なコレクションです。

于 2013-04-09T15:09:35.443 に答える
1

私の知る限り、これを行う方法はありません。アイテムを表示する順序と一致するように、データプロバイダーを並べ替える必要があります。

元のコレクションを変更したくない場合は、 ListCollectionView を作成、元のコレクションをコンストラクターに渡し、ListCollectionView に並べ替えを追加できます。その後、コレクション ビューをリストのデータ プロバイダーとして割り当てることができます。

于 2013-04-09T11:04:55.120 に答える