0

次のアプリケーションを実行するScrollerと、内側のグループの高さまで伸びます。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009"> 
    <s:Scroller width="100%" height="100%" verticalScrollPolicy="on">
        <s:Group height="1400"/>
    </s:Scroller>
</s:Application>

これが私が得るものです:

ここに画像の説明を入力してください

窓と同じ大きさにしたいのですが。私が間違っていることを説明していただけますか?Scrollerビューポートとして機能しないのはなぜですか?

4

1 に答える 1

1

通常、スクローラーの高さ/幅を明示的な値にし、子の高さ/幅をパーセンテージにします。あなたはそれを逆に行いました。だから、このように:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009"> 
    <s:Scroller width="100%" height="1400" verticalScrollPolicy="on">
        <s:Group height="100%"/>
    </s:Scroller>
</s:Application>

ただし、それでは、スクローラー/グループを使用可能なウィンドウの幅にするという問題は解決されません。updateDisplayList()メソッドの要素のサイズを変更することでこれを行います。

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009"> 
<fx:Script>
  protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number:void{
    super.updateDisplayList(unscaledWidth, unscaledHeight);
    myScroller.width = unscaledWidth;
    myScroller.height - unscaledHeight;
    mySCrollingGroup.width = unscaledWidth 
    mySCrollingGroup.height - unscaledHeight;
  }
</fx:Script>

        <s:Scroller verticalScrollPolicy="on" id="myScoller">
            <s:Group id="mySCrollingGroup" />
        </s:Scroller>
    </s:Application>

myScrollingGroupのサイズを微調整して、スクロールバーの高さ/幅に対応することをお勧めします。または、myScrollingGroupのprecentHeight / PercentWidthプロパティを使用して、それらを100%に設定することもできます。

于 2012-12-02T18:53:12.137 に答える