Flex中如何通过columnCount属性在TileList控件中设置一串数字列并且可以调整大小的例子
By Minidxer | August 8, 2008
接下来的例子演示了Flex中如何通过columnCount属性,在TileList控件中设置一串数字列并且可以调整大小。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- control-in-flex/ -->
- <mx:Application name="TileList_columnCount_test"
- xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <mx:ArrayCollection id="arrColl">
- <mx:source>
- <mx:Array>
- <mx:Object label="One" />
- <mx:Object label="Two" />
- <mx:Object label="Three" />
- <mx:Object label="Four" />
- <mx:Object label="Five" />
- <mx:Object label="Six" />
- <mx:Object label="Seven" />
- <mx:Object label="Eight" />
- <mx:Object label="Nine" />
- <mx:Object label="Ten" />
- </mx:Array>
- </mx:source>
- </mx:ArrayCollection>
- <mx:ApplicationControlBar dock="true">
- <mx:Form styleName="plain">
- <mx:FormItem label="columnCount:">
- <mx:HSlider id="slider"
- minimum="1"
- maximum="5"
- value="5"
- snapInterval="1"
- tickInterval="1"
- liveDragging="true" />
- </mx:FormItem>
- </mx:Form>
- </mx:ApplicationControlBar>
- <mx:TileList id="tileList"
- dataProvider="{arrColl}"
- columnCount="{slider.value}"
- columnWidth="100"
- rowCount="2"
- rowHeight="100"
- verticalScrollPolicy="on" />
- </mx:Application>
接下来是ActionScript实现同样功能的代码:
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- control-in-flex/ -->
- <mx:Application name="TileList_columnCount_test"
- xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- initialize="init();">
- <mx:Script>
- <![CDATA[
- import mx.collections.ArrayCollection;
- import mx.containers.ApplicationControlBar;
- import mx.containers.Form;
- import mx.containers.FormItem;
- import mx.controls.HSlider;
- import mx.controls.TileList;
- import mx.core.ScrollPolicy;
- import mx.events.SliderEvent;
- private var arrColl:ArrayCollection;
- private var slider:HSlider;
- private var tileList:TileList;
- private function init():void {
- arrColl = new ArrayCollection();
- arrColl.addItem({label:"One"});
- arrColl.addItem({label:"Two"});
- arrColl.addItem({label:"Three"});
- arrColl.addItem({label:"Four"});
- arrColl.addItem({label:"Five"});
- arrColl.addItem({label:"Six"});
- arrColl.addItem({label:"Seven"});
- arrColl.addItem({label:"Eight"});
- arrColl.addItem({label:"Nine"});
- arrColl.addItem({label:"Ten"});
- slider = new HSlider();
- slider.minimum = 1;
- slider.maximum = 5;
- slider.value = 5;
- slider.snapInterval = 1;
- slider.tickInterval = 1;
- slider.liveDragging = true;
- slider.addEventListener(SliderEvent.CHANGE, slider_change);
- var formItem:FormItem = new FormItem();
- formItem.label = "columnCount:";
- formItem.addChild(slider);
- var form:Form = new Form();
- form.styleName = "plain";
- form.addChild(formItem);
- var appControlBar:ApplicationControlBar = new ApplicationControlBar();
- appControlBar.dock = true;
- appControlBar.addChild(form);
- Application.application.addChildAt(appControlBar, 0);
- tileList = new TileList();
- tileList.dataProvider = arrColl;
- tileList.columnCount = 5;
- tileList.columnWidth = 100;
- tileList.rowCount = 2;
- tileList.rowHeight = 100;
- tileList.verticalScrollPolicy = ScrollPolicy.ON;
- addChild(tileList);
- }
- private function slider_change(evt:SliderEvent):void {
- tileList.columnCount = evt.value;
- }
- ]]>
- </mx:Script>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Flex |
1 Comment » |
Tags: columnCount, TileList
Trackbacks