2011-06-14 64 views
2

我有一個問題,顯示我的Flex應用程序的滾動條...我嘗試了一個基本的應用程序與畫布,但滾動條永遠不會出現在瀏覽器窗口儘管畫布比可以放在屏幕上大得多。有人可以幫忙嗎?這裏是我的代碼:Flex ScrollBars

<?xml version="1.0" encoding="utf-8"?> 
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 

    <mx:Canvas id="MyCanvas" height="2500" width="2000" verticalScrollPolicy="auto" 
    horizontalScrollPolicy="auto" backgroundColor="black" symbolColor="#000000" 
    contentBackgroundColor="#080808"/> 

    </s:Application> 

回答

4

你想在你的畫布滾動條?或者在你的主應用程序中?如果您想在畫布中滾動條,只需添加超出畫布高度和寬度的內容。它會「神奇地」添加它們,因爲MX/Halo組件的作用就是這樣。

如果你想在你的主應用程序中使用滾動條,你將不得不使用滾動組件和組手動添加它們。從概念上講是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 

<s:Scroller height="100" width="100"> 
<s:Group width="100%" height="100%" clipAndEnableScrolling="true"> 
    <mx:Canvas id="MyCanvas" height="2500" width="2000" verticalScrollPolicy="auto" 
    horizontalScrollPolicy="auto" backgroundColor="black" symbolColor="#000000" 
    contentBackgroundColor="#080808"/> 

</s:Group> 

</s:Scroller> 

    </s:Application> 

以我的經驗,你需要指定的滾動條固定高度和/或寬度滾動條顯示。另外,一定要clipAndenableScrolling在滾動條內的組,否則內容將顯示在滾動條的視口之外 - 這有點違背了目的。

Some good info from Adobe.

+0

如果添加 到主應用程序的皮膚文件,你不需要指定固定的寬度/高度(或做別的)來使應用程序滾動。 – 2011-06-14 14:58:38

+0

@Jonathan Rowny你說的話聽起來不錯,但實際上我有不一致的結果w /卷軸和百分比高度/寬度。 – JeffryHouser 2011-06-14 15:37:47

+0

謝謝。這有助於解決它.... – Rohit 2011-06-14 17:19:58

0

在Flex 4+(spark)中,您不再使用「scrollPolicies」。 MX畫布仍然存在,所以如果畫布內容超過2500x2000,它們將滾動。

爲了讓您的整個APP擁有一個滾動條,您需要爲該應用程序創建一個外觀並將「contentGroup」包裝到標籤中。

見:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf62d75-7fff.html的詳細信息,添加一個滾動條到火花應用

1

我得到它的工作堅持就好使用滾動條/組在我的應用程序MXML,我想別人滾動皮膚DEF但它沒有工作。

最主要的是爲應用程序設置所有高度和寬度爲100%,滾動條爲&組。

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" 
      width="100%" height="100%> 
<s:Scroller height="100%" width="100%" horizontalScrollPolicy="on" verticalScrollPolicy="on"> 
<s:Group left="0" right="0" top="0" bottom="0"> 
    <!--...mxml....--> 
</s:Group> 
</s:Scroller> 
</s:Application>