Flex中如何利用stepSize属性调整NumericStepper控件每一步操作大小以及ActionScript代码实现同样功能的例子
By Minidxer | May 17, 2008
接下来的例子演示了Flex中如何利用stepSize属性调整NumericStepper控件每一步操作大小。和Flex中如何通过设置cornerRadius样式设定NumericStepper控件边缘棱角圆滑幅度(corner radius)的例子中一样,例子中利用了HSlider控件来调整每步的尺度。
让我们先来看一下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:ApplicationControlBar dock="true">
- <mx:Form styleName="plain">
- <mx:FormItem label="stepSize:">
- <mx:HSlider id="slider"
- minimum="1"
- maximum="10"
- value="1"
- snapInterval="1"
- tickInterval="1"
- liveDragging="true" />
- </mx:FormItem>
- </mx:Form>
- </mx:ApplicationControlBar>
- <mx:NumericStepper id="numericStepper"
- minimum="0"
- maximum="100"
- stepSize="{slider.value}" />
- </mx:Application>
作为一种流行趋势,下面同样给出用ActionScript实现同样功能的代码:
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- xmlns:comps="comps.*"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <comps:MyComp id="myComp" />
- </mx:Application>
Download: MyComp.as
- package comps {
- import mx.containers.ApplicationControlBar;
- import mx.containers.Canvas;
- import mx.containers.Form;
- import mx.containers.FormItem;
- import mx.controls.HSlider;
- import mx.controls.NumericStepper;
- import mx.core.Application;
- import mx.events.SliderEvent;
- public class MyComp extends Canvas {
- public var appControlBar:ApplicationControlBar;
- public var form:Form;
- public var formItem:FormItem;
- public var slider:HSlider;
- public var numericStepper:NumericStepper;
- public function MyComp() {
- super();
- init();
- }
- public function init():void {
- slider = new HSlider();
- slider.minimum = 1;
- slider.maximum = 10;
- slider.value = 1;
- slider.snapInterval = 1;
- slider.tickInterval = 1;
- slider.liveDragging = true;
- slider.addEventListener(SliderEvent.CHANGE, slider_change);
- formItem = new FormItem();
- formItem.label = "stepSize:";
- formItem.addChild(slider);
- form = new Form();
- form.styleName = "plain";
- form.addChild(formItem);
- appControlBar = new ApplicationControlBar();
- appControlBar.dock = true;
- appControlBar.addChild(form);
- Application.application.addChildAt(appControlBar, 0);
- numericStepper = new NumericStepper();
- numericStepper.minimum = 0;
- numericStepper.maximum = 100;
- addChild(numericStepper);
- }
- private function slider_change(evt:SliderEvent):void {
- numericStepper.stepSize = evt.value;
- }
- }
- }
代码:Peter deHaan 翻译/整理/编译:minidxer
Topics:
Flex |
Tags: Flex, HSlider, NumericStepper, stepSize