Flex 4中如何检测List上下滚动按钮被按下的例子
By Minidxer | September 19, 2009
接下来的例子演示了Flex 4中如何通过监听VScrollBar上的change事件,检测List上下滚动按钮被按下。
下面是完整代码(或点击这里察看):
下面是main.mxml:
- <?xml version="1.0" encoding="utf-8"?>
- <s:Application name="Spark_List_scroller_verticalScrollBar_change_test"
- xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:mx="library://ns.adobe.com/flex/halo">
- <fx:Script>
- <![CDATA[
- import spark.components.VScrollBar;
- private function init():void {
- list.scroller.verticalScrollBar.addEventListener(Event.CHANGE, list_verticalScrollBar_change);
- }
- private function list_verticalScrollBar_change(evt:Event):void {
- var vsb:VScrollBar = evt.currentTarget as VScrollBar;
- var obj:Object = {};
- obj.type = evt.type;
- obj.val = vsb.value;
- obj.max = vsb.maximum;
- arrColl.addItem(obj);
- callLater(dgScroll);
- }
- private function dgScroll():void {
- dataGrid.verticalScrollPosition = dataGrid.maxVerticalScrollPosition;
- }
- ]]>
- </fx:Script>
- <fx:Declarations>
- <mx:ArrayCollection id="arrColl" />
- </fx:Declarations>
- <s:HGroup horizontalCenter="0" verticalCenter="0">
- <s:List id="list"
- creationComplete="init();">
- <s:layout>
- <s:VerticalLayout requestedRowCount="4" />
- </s:layout>
- <s:dataProvider>
- <s:ArrayList>
- <fx:String>The</fx:String>
- <fx:String>Quick</fx:String>
- <fx:String>Brown</fx:String>
- <fx:String>Fox</fx:String>
- <fx:String>Jumps</fx:String>
- <fx:String>Over</fx:String>
- <fx:String>The</fx:String>
- <fx:String>Lazy</fx:String>
- <fx:String>Dog</fx:String>
- </s:ArrayList>
- </s:dataProvider>
- </s:List>
- <mx:DataGrid id="dataGrid"
- dataProvider="{arrColl}"
- width="200"
- verticalScrollPolicy="on">
- <mx:columns>
- <mx:DataGridColumn dataField="type" />
- <mx:DataGridColumn dataField="val" />
- <mx:DataGridColumn dataField="max" />
- </mx:columns>
- </mx:DataGrid>
- </s:HGroup>
- </s:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Gumbo, List |
No Comments » |
Tags: change, Gumbo, scroller, verticalScrollBar