2009-03-30 1 views
1

私が代わりにその親にこのresposiblityを渡すのでスクロール可能becodeするために、そのボックスを取得する方法、それはコンテンツだため、動的なサイズ(すなわちwidth100%)ボックスの大きさが十分でない場合。私は箱がそのスペースの大きさだけ大きくなるようにしたい。アドビフレックス:スクロールボックス

I.e.次の例では、ブラウザウィンドウのサイズを変更してテキストボックスが縦にはならない場合、アプリケーション全体ではなくスクロールバーを表示するにはどうすればよいですか?

<?xml version="1.0"?> 
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"> 

    <mx:HDividedBox width="100%" height="100%"> 

     <mx:VBox id="box1" backgroundColor="green" height="100%" verticalScrollPolicy="on" clipContent="true"> 


      <mx:TextInput width="200"/> 

      <mx:TextInput width="200"/> 

      <mx:TextInput width="200"/> 

      <mx:TextInput width="200"/> 

      <mx:TextInput width="200"/> 

      <mx:TextInput width="200"/> 

     </mx:VBox> 

     <mx:Box backgroundColor="red" width="100%" height="100%"> 

     </mx:Box> 

    </mx:HDividedBox> 

</mx:Application> 

verticalScrollbarPolicy autoとonで試したが、うまくいかなかった。

答えて

3

ですから、キャンバスにVBOXをラップし、(高さプロパティを設定しないことで)、その内容への相対的な高さを持つようにVBOXを設定する必要があります。何らかの理由でそれはキャンバスでなければならず、別のBox派生ではありません。そうすれば、達成しようとしている効果が得られます。

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" verticalScrollPolicy="off"> 

    <mx:HDividedBox width="100%" height="100%"> 

     <mx:Canvas id="box1" backgroundColor="green" height="100%" > 

      <mx:VBox > 
       <mx:Button width="200" /> 

       <mx:Button width="200"/> 

       <mx:Button width="200"/> 

       <mx:Button width="200"/> 

       <mx:Button width="200"/> 

       <mx:Button width="200"/> 
      </mx:VBox> 

     </mx:Canvas> 

     <mx:Box backgroundColor="red" width="100%" height="100%" /> 
    </mx:HDividedBox> 

</mx:Application> 

キャンバスにする必要がある理由を試してみましょう。それは私の頭の中で正しく感じるが、明確に表現するのは難しい。希望はすぐにあなたに説明を与えますか?

+0

ありがとうございます。これはそれを解決しました! –

1

スクロールバーには、すべての子要素に十分なスペースがあるため、取り込まれません。コンテナのスクロールバーは、高さ/幅がすべての子のすべての高さ/幅の合計に対して小さすぎる場合に表示されます。ここでは簡単な例です:

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" 
     verticalScrollPolicy="off"> 

    <mx:HDividedBox width="100%" height="600" verticalScrollPolicy="off"> 


     <mx:VBox id="box1" backgroundColor="green" height="100" 
        verticalScrollPolicy="auto" clipContent="true"> 


      <mx:TextInput width="100%"/> 

      <mx:TextInput width="100%"/> 

      <mx:TextInput width="100%"/> 

      <mx:TextInput width="100%"/> 

      <mx:TextInput width="100%"/> 

      <mx:TextInput width="100%"/> 

     </mx:VBox> 

     <mx:Box backgroundColor="red" width="100%" height="100%"> 

     </mx:Box> 

    </mx:HDividedBox> 

</mx:Application> 
+0

問題は、私は一定の高さを設定したくないということですが、私は100%に設定する必要があります。しかし、スクロールバーは、高さが小さくなると(ウィンドウがテキストボックスに収まらないようにサイズを変更した場合) –

関連する問題