2011-06-16 51 views
0

在內容可縮放的情況下獲得了一點柔性應用。 首先是一些代碼柔性滾動剪切內容

<s:Scroller verticalScrollPolicy="on" width="100%" height="100%"> 



<s:Group scaleX="{breite}" scaleY="{hoehe}" 

     id="mapView" > <!-- zum zoomen --> 

    <s:Group horizontalCenter="0" id="kartePanel" verticalCenter="0"> 
    <images:karte height="630" width="430" /> 


     <components:akwOnMap data="{biblis}" verticalCenter="{biblis.y}" horizontalCenter="{biblis.x}" 
          scaleY="{negate}" scaleX="{negate}" toolTip="{biblis.name}"/> 



     <components:akwOnMap data="{akw2}" verticalCenter="{akw2.y}" horizontalCenter="{akw2.x}" 
          scaleY="{negate}" scaleX="{negate}" toolTip="{akw2.name}"/> 

      <components:akwView scaleX="{negate}" data="{akw2}" scaleY="{negate}" verticalCenter="20" horizontalCenter="{80}" > 
     </components:akwView> 
    </s:Group> 
</s:Group> 
</s:Scroller> 

變焦只是工作通過滑塊改變值從1達3罰款。縮放的中點是容器的中心(地圖)。

我的問題:當我縮放,滾動剪切組的一部分。它放大窗口?!

+0

我不知道這是如何涵蓋你從前面的問題新的基礎:http://stackoverflow.com/questions/6361673/scaling-in-flex-exclude-some-children。我也不確定爲什麼在上一個問題中,你選擇了一個你認爲沒有用的答案。 – JeffryHouser 2011-06-16 12:21:44

+0

忘記改變我的評論,只是執行錯誤。現在要改變我的評論......也是現在的另一個問題。 – ABLX 2011-06-16 12:39:42

回答

1
private function checkScrolling():void 

{ 


var imgWidth:Number = mapView.width * mapView.scaleX; 
    var imgHeight:Number = mapView.height * mapView.scaleY; 

if (mapGroup.contentWidth < imgWidth || 
    mapGroup.contentHeight < imgHeight) 
{ 
    var excessW:Number = imgWidth - mapGroup.contentWidth; 
    var excessH:Number = imgHeight - mapGroup.contentHeight; 
    mapGroup.setContentSize(imgWidth, imgHeight); 
    /* 
    if (scroller.horizontalScrollBar) 
    { 
     scroller.horizontalScrollBar.minimum = -excessW; 
     scroller.horizontalScrollBar.maximum = excessW; 
     mapGroup.horizontalScrollPosition = 0; 
    } 
    */ 
    if (scroller.verticalScrollBar) 
    { 
     scroller.verticalScrollBar.minimum = -excessH; 
     scroller.verticalScrollBar.maximum = excessH; 
     mapGroup.verticalScrollPosition = 0; 
    } 

這只是正常工作。