示例一:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600"
>
<fx:Declarations>
</fx:Declarations>
<!--Flex 4 与 Flex 3中的Style使用有点区别,注意命名空间-->
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
mx|ApplicationControlBar
{
color: #111111
}
</fx:Style>
<s:BorderContainer backgroundColor="#000000"
backgroundAlpha="0.67"
width="100%"
height="100%">
<s:layout>
<s:VerticalLayout horizontalAlign="center" verticalAlign="middle">
</s:VerticalLayout>
</s:layout>
<!--使用ApplicationControlBar装载MenuBar,
使用XMLList为MenuBar提供子项MenuItem-->
<mx:ApplicationControlBar dock="true" paddingTop="0"
paddingBottom="0" >
<s:Label text="Docked" fontWeight="bold" color="0x000000"/>
<mx:MenuBar id="myMenuBar" labelField="@label">
<fx:XMLList>
<menuitem label="MenuItem A" >
<menuitem label="SubMenuItem A-1" type="check"/>
<menuitem label="SubMenuItem A-2" type="check"/>
</menuitem>
<menuitem label="MenuItem B"/>
<menuitem label="MenuItem C"/>
<menuitem label="MenuItem D" >
<menuitem label="SubMenuItem D-1" type="radio" groupName="one"/>
<menuitem label="SubMenuItem D-2" type="radio" groupName="one"/>
<menuitem label="SubMenuItem D-3" type="radio" groupName="one"/>
</menuitem>
</fx:XMLList>
</mx:MenuBar>
</mx:ApplicationControlBar>
<s:Label color="0xACACAC" text="A docked ApplicationControlBar
appears at the top of the application window."/>
<mx:Spacer height="100%"/>
<!--使用ApplicationControlBar控制组件-->
<mx:ApplicationControlBar width="80%">
<s:Label text="Normal" fontWeight="bold" color="0x000000"/>
<s:Label text="Search:" color="0x323232" />
<s:TextInput width="100%" maxWidth="200" />
<mx:Spacer height="100%"/>
<s:Button label="Go adobe.com" color="0x000000" />
</mx:ApplicationControlBar>
<s:Label color="0xACACAC" text="A normal ApplicationControlBar
can appear anywhere in the application."/>
</s:BorderContainer>
</s:Application>
示例二:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:layout>
<s:VerticalLayout>
</s:VerticalLayout>
</s:layout>
<mx:ApplicationControlBar>
<mx:Form>
<mx:FormItem label="x:">
<s:HSlider
id="xSlider"
minimum="-100"
maximum="100"
value="0"
snapInterval="1"
liveDragging="true"
/>
</mx:FormItem>
<!--在mx中,HSlider的属性tickInterval表示:
刻度线相对于控件 maximum 值的间距。
将 tickInterval 属性设置为非零值时,Flex 会显示刻度线。
例如,如果 tickInterval 为 1 而 maximum 为 10,
则沿 Slider 每隔 1/10 处都会放置一条刻度线。如果值为 0,
则不会显示刻度线。如果 tickValues 属性设置为非空 Array,则将忽略此属性。
-->
<!--在spark中,HSlider没有tickInterval-->
<mx:FormItem>
<mx:HSlider
id="ySlider"
minimum="-100"
maximum="100"
value="0"
snapInterval="1"
tickInterval="25"
liveDragging="true" />
</mx:FormItem>
<mx:FormItem>
<mx:HSlider id="rotationSlider"
minimum="-360"
maximum="360"
value="0"
snapInterval="1"
tickInterval="45"
liveDragging="true" />
</mx:FormItem>
</mx:Form>
<s:Graphic>
<s:Rect id="rect" width="300" height="200">
<s:stroke>
<!--x表示:沿 x 轴平移每个点的距离。-->
<!--默认情况下,LinearGradientStroke 定义控件进行从左到右的过渡。
使用 rotation 属性可以控制过渡方向。
例如,当值为 180.0 时,将会发生从右到左的过渡,而非从左到右的过渡。-->
<s:LinearGradientStroke id="linearGrad"
x="{xSlider.value}"
y="{ySlider.value}"
rotation="{rotationSlider.value}"
weight="5">
<s:GradientEntry color="red" />
<s:GradientEntry color="white" />
<s:GradientEntry color="blue" />
</s:LinearGradientStroke>
</s:stroke>
</s:Rect>
</s:Graphic>
<s:Graphic>
<s:Rect width="300" height="200">
<s:fill>
<!--x表示:沿 x 轴平移每个点的距离。-->
<!--默认情况下,LinearGradientStroke 定义控件进行从左到右的过渡。
使用 rotation 属性可以控制过渡方向。
例如,当值为 180.0 时,将会发生从右到左的过渡,而非从左到右的过渡。-->
<s:RadialGradient
x="{xSlider.value}"
y="{ySlider.value}"
rotation="{rotationSlider.value}"
>
<s:GradientEntry color="red" />
<s:GradientEntry color="white" />
<s:GradientEntry color="blue" />
</s:RadialGradient>
</s:fill>
</s:Rect>
</s:Graphic>
<s:Label text="使用了ApplicationControlBar"/>
</mx:ApplicationControlBar>
<!--使用controlBarContent-->
<s:controlBarContent>
<mx:Form>
<mx:FormItem label="x:">
<s:HSlider
id="xSlider1"
minimum="-100"
maximum="100"
value="0"
snapInterval="1"
liveDragging="true"
/>
</mx:FormItem>
<!--在mx中,HSlider的属性tickInterval表示:
刻度线相对于控件 maximum 值的间距。
将 tickInterval 属性设置为非零值时,Flex 会显示刻度线。
例如,如果 tickInterval 为 1 而 maximum 为 10,
则沿 Slider 每隔 1/10 处都会放置一条刻度线。如果值为 0,
则不会显示刻度线。如果 tickValues 属性设置为非空 Array,则将忽略此属性。
-->
<!--在spark中,HSlider没有tickInterval-->
<mx:FormItem>
<mx:HSlider
id="ySlider1"
minimum="-100"
maximum="100"
value="0"
snapInterval="1"
tickInterval="25"
liveDragging="true" />
</mx:FormItem>
<mx:FormItem>
<mx:HSlider id="rotationSlider1"
minimum="-360"
maximum="360"
value="0"
snapInterval="1"
tickInterval="45"
liveDragging="true" />
</mx:FormItem>
</mx:Form>
<!--画图-->
<s:Graphic>
<s:Rect id="rect1" width="300" height="200">
<s:stroke>
<!--x表示:沿 x 轴平移每个点的距离。-->
<!--默认情况下,LinearGradientStroke 定义控件进行从左到右的过渡。
使用 rotation 属性可以控制过渡方向。
例如,当值为 180.0 时,将会发生从右到左的过渡,而非从左到右的过渡。-->
<s:RadialGradientStroke id="RadialGrad"
x="{xSlider1.value}"
y="{ySlider1.value}"
rotation="{rotationSlider1.value}"
weight="5">
<s:GradientEntry color="red" />
<s:GradientEntry color="white" />
<s:GradientEntry color="blue" />
</s:RadialGradientStroke>
</s:stroke>
</s:Rect>
</s:Graphic>
<s:Graphic>
<s:Rect id="rect2" width="300" height="200">
<s:fill>
<s:RadialGradient x="{xSlider1.value}"
y="{ySlider1.value}"
rotation="{rotationSlider1.value}"
>
<s:GradientEntry color="red" />
<s:GradientEntry color="white" />
<s:GradientEntry color="blue" />
</s:RadialGradient>
</s:fill>
</s:Rect>
</s:Graphic>
<s:Label text="使用了controlBarContent"/>
</s:controlBarContent>
</s:Application>
还是比较喜欢旧版的ApplicationControlBar