我正在一個 flex 專案中作業,我需要在其中放置一個滾動條并在滾動事件上添加一個事件處理程式。
現在的問題是我無法獲得任何合適的示例來完成此操作。要么我得到基于 spark 的滾動器示例,但沒有相應的事件處理示例,要么我得到基于 mx 組件的事件處理示例,但沒有相應的滾動器示例!
這是我基于SPARK的代碼-
<s:Scroller width="100%" height="100%" horizontalScrollPolicy="auto" verticalScrollPolicy="auto">
<s:Group id="myScroller" horizontalScrollPosition="0" verticalScrollPosition="0">
<mx:Canvas width="1800" height="970">
<main:Main id="main" width="100%" height="100%" userActivityManager="{userActivityManager}"/>
</mx:Canvas>
</s:Group>
</s:Scroller>
我正在使用以下基于SPARK的事件處理代碼 -
myScroller.addEventListener(Event.CHANGE, scrollarChange);
private function scrollarChange(evt:Event):void {
callLater(dgScroll);
}
private function dgScroll():void {
trace("horizontalScrollPosition value=" myScroller.horizontalScrollPosition);
}
但是代碼沒有進入這個 dgScroll() 方法。
這個基于SPARK的代碼正在運行,但滾動條出現在框架的頂部而不是底部。此外 VScrollBar 實際上并沒有覆寫整個螢屏,它只是位于頂部。
private function myScroll():void {
trace("horizontalScrollPosition value=" myScroller.value);
}
<s:VGroup>
<s:HScrollBar id="myScroller" width="100%" height="100%" change="myScroll()"/>
<s:VScrollBar width="100%" height="100%"/>
<mx:Canvas width="1800" height="970">
<main:Main id="main" width="100%" height="100%" userActivityManager="{userActivityManager}"/>
</mx:Canvas>
</s:VGroup>
這是基于MX組件的滾動處理程式方法的示例 -
myList.addEventListener(ScrollEvent.SCROLL, scrollHandler);
function scrollHandler(e:ScrollEvent):void
{
//myList is scrolling
}
但是我沒有得到任何可以適合我的代碼的基于 MX 的滾動示例。
由于 SPARK 滾動器很好地服務于我的目的,你有任何基于 SPARK 的滾動事件處理的作業示例嗎?真的會很感激。
uj5u.com熱心網友回復:
處理滾動事件的最佳方式是通過滾動事件或滑鼠事件。如果我想在滾動條滾動時移動螢屏上的任何其他元素,那么移動將與滾動事件或滑鼠事件一起平滑。這是代碼 -
import flash.events.MouseEvent;
private function onScrollarChange(event:MouseEvent):void {
//Handle the event, for e.g. move other component accordingly
}
<s:Scroller id="myScroller" width="100%" height="100%" horizontalScrollPolicy="auto" verticalScrollPolicy="auto" mouseMove="onScrollarChange(event)">
<s:Group id="myScrollerGroup" horizontalScrollPosition="0" verticalScrollPosition="0">
<mx:Canvas width="1800" height="970">
<main:Main id="main" width="100%" height="100%" userActivityManager="{userActivityManager}"/>
</mx:Canvas>
</s:Group>
</s:Scroller>
謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/416907.html
標籤:
上一篇:為什么構建ANE需要AndroidStudio/Eclipse?
下一篇:如何更改占位符文本的語言?
