0

カスタム itemrenderer を使用して写真のリストを表示していますが、幅を制御する方法を知る必要があります。現時点ではこれを行います:

なんでこんなに広いの?
(出典: tdwright.co.uk )

あなたが同意すると確信しているように、これは目が出血するほど醜いです.

リストは次のように作成されます。

<mx:Panel width="100%" height="100%" layout="absolute" title="Photos">
    <mx:List x="0" y="0" width="100%" height="100%" id="photoList" dataProvider="{photos}" itemRenderer="thumbnails" rowHeight="100"/>
</mx:Panel>

itemrenderer コンポーネントは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Image source="{data.src}" id="image" scaleContent="true" toolTip="{data.caption}" height="100%" horizontalAlign="center"/>
</mx:VBox>

たくさんの場所に width="100%" を配置しようとしましたが、成功しませんでした。誰かが私がこれを制御する方法を知っていれば、私はとても感謝しています.

4

3 に答える 3

1

これらのプロパティを itemrenderer verticalScrollPolicy="off" horizo​​ntalScrollPolicy="off" 内に設定すると、バーが消えます

False ではなくひどい「オフ」を選択する理由がわかりません

于 2009-07-23T09:26:51.487 に答える
0

スクロール ポリシーをオフにするだけでなく、左と右を 0 に設定します。これにより、幅が親の幅に固定されます。

于 2011-03-12T18:31:34.933 に答える
0

同様の苦痛な経験の瘴気に基づいて、ここにいくつかの観察があります。(注意: この特定のケースですべてを確認するためのテスト アプリは作成していません)

リストに含まれる itemRenderer 要素のサイズに基づいてリストの幅のサイズを変更することが必要であると仮定すると、それらの itemRenderer 要素は幅情報を提供する必要があります。このようにスクロール バーを許可して VBox を使用すると、VBox はコンテンツ (画像) のサイズと親のサイズの間で「調停」を試みます。そうです、最初に行うことは、VBox を完全に取り除くことができないと仮定して、VBox のスクロールバーをオフにすることです。(次のステップとして、画像の下にタイトルや何かを入れることができるように、VBox が必要だと思います)

指定した List は、の 100% のサイズである Panel であり、それ自体は親の 100% のサイズです。これらの要素のサイズを「上から下に」ではなく、幅を指定しないで、必要な幅を下から上に Flex が計算できるようにすることを検討してください。リストまたはパネルで maxWidth を使用して、ピアに対して相対的に配置する必要がある場合は、サイズを制限します。

知っておくべきもう 1 つの重要なことは、"minHeight=0" トリックです。Flex で使用されるサイジング アルゴリズムは、minHeight または minWidth がデフォルトの NaN 以外に設定されている場合、まったく異なる動作をすることが判明しました。0 に設定すると、これらの多くの場合に非常に役立ちます。VBox および/またはリストで minWidth=0 を試してください。

于 2009-07-23T15:03:45.710 に答える