2014-01-27 70 views
0

是否有一種方法可以爲桌面應用程序實現分離器面板?用於桌面應用程序的Actionscript分離器面板

我正在尋找類似於用於移動應用的SplitViewNavigator的東西。

有沒有圖書館或我自己寫嗎?

這裏是我的意思了分路器面板picture

Splitter example

+0

HDividedBox和VDividedBox怎麼樣?http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7e54.html –

回答

0

經過幾天的研究,我找到一種方法來實現不依賴移動組件的垂直分離器面板:我使用面板之間的薄(4像素)按鈕,然後拖放這個按鈕,我根據鼠標水平位置改變左面板的寬度。

一些示例代碼:

<s:HGroup> 
    <s:Panel id="panel1" width="50%" height="100%"/> 
    <s:Button width="4" height="100%" 
       mouseOver="mousePointerDrag()" 
       mouseOut ="mousePointerDrop()" 
       mouseDown="mouseDownHResize()" 
       mouseUp ="mouseUpHResize()"/> 
    <s:Panel id="panel2" width="50%" height="100%"/> 
</s:HGroup> 

的鼠標懸停和鼠標移出改變指針到一個手,而在所述拆分按鈕:

private function mousePointerDrag():void 
{ 
    Mouse.cursor = "hand"; 
} 
private function mousePointerDrop():void 
{ 
    Mouse.cursor = "auto"; 
} 

鼠標按下和MouseUp使resize事件偵聽器,以調整面板1寬度(面板2將相應地改變):

private function mouseDownHResize():void 
{ 
    this.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHResize); 
} 
private function mouseUpHResize():void 
{ 
    this.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHResize); 
} 
private function mouseMoveHResize(event:MouseEvent):void 
{ 
    panel1.width = event.stageX-4-4; // tricky part 
} 

The tri cky部分是選擇panel1的正確寬度,以便確保鼠標指針在釋放鼠標時保留在調整大小按鈕中(在這種情況下,邊框爲4像素)。

當然對於水平分離器來說也是相似的。

我是ActionScript編程中的新手,所以這可能是一個糟糕的解決方案,但是到目前爲止我發現的更簡單;如果其他更清潔的解決方案可用,可以將其添加到此問題中。

0

你可以使用Flex移動組件的桌面應用程序。我發現這tutorial你可以關注