May 28
接下来的例子演示了Flex中如何通过borderStyle和borderSides样式设置NumericStepper控件特定边框(上下左右边)。和前面Flex中如何通过borderThickness样式设置NumericStepper控件边框厚度的例子一样,只有在borderStyle被设置为“solid”的情况下,才支持borderSides样式。Demo中分别通过上下左右的CheckBox框设置相应边的显示。
让我们先来看一下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[
- private function checkBox_change(evt:Event):void {
- var sidesStr:String;
- var sidesArr:Array = [];
- if (leftCheckBox.selected) {
- sidesArr.push("left");
- }
- if (rightCheckBox.selected) {
- sidesArr.push("right");
- }
- if (topCheckBox.selected) {
- sidesArr.push("top");
- }
- if (bottomCheckBox.selected) {
- sidesArr.push("bottom");
- }
- sidesStr = sidesArr.join(" ");
- numericStepper.setStyle("borderSides", sidesStr);
- }
- ]]>
- </mx:Script>
- <mx:ApplicationControlBar dock="true">
- <mx:Form styleName="plain">
- <mx:FormItem label="border left:">
- <mx:CheckBox id="leftCheckBox"
- selected="true"
- change="checkBox_change(event);" />
- </mx:FormItem>
- <mx:FormItem label="border right:">
- <mx:CheckBox id="rightCheckBox"
- selected="true"
- change="checkBox_change(event);" />
- </mx:FormItem>
- <mx:FormItem label="border top:">
- <mx:CheckBox id="topCheckBox"
- selected="true"
- change="checkBox_change(event);" />
- </mx:FormItem>
- <mx:FormItem label="border bottom:">
- <mx:CheckBox id="bottomCheckBox"
- selected="true"
- change="checkBox_change(event);" />
- </mx:FormItem>
- <mx:FormItem label="borderThickness:">
- <mx:HSlider id="slider"
- minimum="0"
- maximum="10"
- value="4"
- snapInterval="1"
- tickInterval="1"
- liveDragging="true" />
- </mx:FormItem>
- </mx:Form>
- </mx:ApplicationControlBar>
- <mx:NumericStepper id="numericStepper"
- borderStyle="solid"
- borderThickness="{slider.value}"
- borderSides="left right top bottom" />
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer
