Flex中如何设定HorizontalList控件横向(horizontal)滚动位置的例子
By Minidxer | April 4, 2008
接下来的例子演示了如何通过设置horizontalScrollPosition属性,来设定Flex中HorizontalList控件横向(horizontal)滚动位置。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <mx:Script>
- <![CDATA[
- import mx.events.SliderEvent;
- private function prev():void {
- var pos:int = hList.horizontalScrollPosition-1;
- var min:int = 0;
- var value:int = Math.max(min, pos);
- hList.horizontalScrollPosition = value;
- }
- private function next():void {
- var pos:int = hList.horizontalScrollPosition+1;
- var max:int = hList.maxHorizontalScrollPosition;
- var value:int = Math.min(pos, max);
- hList.horizontalScrollPosition = value;
- }
- private function slider_change(evt:SliderEvent):void {
- hList.horizontalScrollPosition = evt.value;
- }
- ]]>
- </mx:Script>
- <mx:Array id="arr">
- <mx:Object lbl="Illustrator" src="ai_appicon-tn.gif" />
- <mx:Object lbl="Adobe AIR" src="air_appicon-tn.gif" />
- <mx:Object lbl="ColdFusion" src="cf_appicon-tn.gif" />
- <mx:Object lbl="Dreamweaver" src="dw_appicon-tn.gif" />
- <mx:Object lbl="Flash" src="fl_appicon-tn.gif" />
- <mx:Object lbl="Flash Player" src="fl_player_appicon-tn.gif" />
- <mx:Object lbl="Fireworks" src="fw_appicon-tn.gif" />
- <mx:Object lbl="Flex" src="fx_appicon-tn.gif" />
- <mx:Object lbl="Lightroom" src="lr_appicon-tn.gif" />
- <mx:Object lbl="Photoshop" src="ps_appicon-tn.gif" />
- </mx:Array>
- <mx:Panel styleName="opaquePanel">
- <mx:HorizontalList id="hList"
- dataProvider="{arr}"
- itemRenderer="HorizontalListItemRenderer"
- verticalScrollPolicy="off"
- horizontalScrollPolicy="off"
- columnWidth="100"
- columnCount="4"
- rowHeight="100"
- rowCount="1"
- borderSkin="{null}" />
- <mx:ControlBar>
- <mx:Button label="Previous" click="prev();" />
- <mx:HSlider id="slider"
- minimum="0"
- maximum="{hList.maxHorizontalScrollPosition}"
- value="{hList.horizontalScrollPosition}"
- liveDragging="true"
- snapInterval="1"
- tickInterval="1"
- showDataTip="false"
- width="100%"
- change="slider_change(event);" />
- <mx:Button label="Next" click="next();" />
- </mx:ControlBar>
- </mx:Panel>
- </mx:Application>
Download: HorizontalListItemRenderer.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
- styleName="plain">
- <mx:Image source="{data.src}"
- horizontalCenter="0"
- verticalCenter="0" />
- <mx:Label text="{data.lbl}"
- fontWeight="bold"
- horizontalCenter="0"
- bottom="0" />
- </mx:Canvas>
代码:Peter deHaan 翻译/整理/编译:minidxer
Topics:
Flex |
Tags: Flex, HorizontalList, horizontalScrollPosition, max, maxHorizontalScrollPosition, min, 滚动位置