0

Rebol をいじっていますが、コンポーネントをユーザーからレイアウトに追加する方法がわかりません。

オンラインの記事/ビデオにリンクされた、画像の URL から取得した画像を含むレイアウトがあります。ユーザーから2つのURL(画像用と記事/ビデオ用)として取得した、対応する記事/ビデオにリンクされた画像をオンラインで追加したいと思います。

リストを使用し、2 つのリンクをリストに追加し、show as ボタン イベントを使用してビューを再度呼び出しますか? レイアウト全体を更新せずに追加する方法はありますか?

4

1 に答える 1

1

リストを使用することはできますが、これは扱いにくい獣です。ここに例を含めて、それがどのように機能するか、そしてそれがあなたに適しているかどうかを評価できるようにします.

リストでは、レイアウトを定義してから、何らかのデータに基づいてレイアウトを動的に変更します。説明のために、いくつかのアイコンを次に示します。

icons: [
    http://reb4.me/r/html-document.png
    http://reb4.me/r/pdf-document.png
    http://reb4.me/r/excel-document.png
    http://reb4.me/r/word-document.png
    http://reb4.me/r/zip-document.png
]

リスト スタイルは、サイズ、レイアウト、供給関数で構成されます (エッジをザッピングします)。

view center-face layout [
    across

    lst: list 48x240 edge none [image 48x48] supply [
        face/image: all [
            img: pick icons count
            load-image img
        ]
    ]

    btn "Random" [
        icons: random icons
        show lst
    ]
]

下部には、データを変更してリストのみを再表示するボタンがあります。

  • サイズは48x240— リストは垂直に機能し、サプライ関数 (リストの高さ / 反復レイアウトの高さ) を何度も呼び出します。アイコンが 5 つあるので、アイコンの高さを 5 倍にしました。

  • これ[image 48x48]が反復レイアウトです。この例では、1 つの面のみを定義していることに注意してください。一般的なレイアウトとは異なり、リスト レイアウトはlayout/tight絞り込みを使用して作成されます。別の間隔が必要な場合は、具体的に指定する必要があります。

  • そのsupply [...]部分が当社の供給機能です。これは、リストを更新するために作成および呼び出される関数の省略形です。その機能は、操作面がfunc [face count index][...]どこにあるかです。リスト内の位置です。およびは、反復レイアウトにおける のオフセットです。facecountindexface

  • 反復レイアウトは1 回しか作成されないことを覚えておくことが重要です。数が増えると、そのレイアウト内の面の属性が変更されるだけです。

  • showレイアウト全体ではなく、リストのみが必要です。

ここから、データ ソースとディスプレイの関係を確認できます。

于 2012-11-09T05:47:12.573 に答える