Flex中如何通过textAlign样式控制Accordion头部文本排列方向的例子
By Minidxer | September 20, 2008
在前面的Flex中如何根据Accordion容器内项目调整宽度的例子中,我们了解了Flex中如何根据Accordion容器内项目调整宽度。 接下来的例子演示了Flex中如何通过textAlign样式,控制Accordion头部文本排列方向。
让我们先来看一下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"
- creationComplete="init();">
- <mx:Style>
- .MyHeaderStyle {
- color: haloBlue;
- fontWeight: bold;
- textAlign: left;
- textRollOverColor: haloOrange;
- textSelectedColor: black;
- icon: Embed(source="assets/asterisk_orange.png");
- }
- </mx:Style>
- <mx:Script>
- <![CDATA[
- import mx.events.IndexChangedEvent;
- import mx.events.ListEvent;
- private function init():void {
- comboBox.dataProvider = accordion.getChildren()
- }
- private function comboBox_change(evt:ListEvent):void {
- accordion.selectedIndex = comboBox.selectedIndex;
- }
- private function accordion_change(evt:IndexChangedEvent):void {
- comboBox.selectedIndex = accordion.selectedIndex;
- }
- private function changeTextAlign(evt:ListEvent):void {
- var cssDecl:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".MyHeaderStyle");
- cssDecl.setStyle("textAlign", evt.currentTarget.selectedItem);
- StyleManager.setStyleDeclaration(".MyHeaderStyle", cssDecl, false);
- }
- ]]>
- </mx:Script>
- <mx:ApplicationControlBar dock="true">
- <mx:Label text="Selected child:" />
- <mx:ComboBox id="comboBox"
- change="comboBox_change(event);">
- </mx:ComboBox>
- <mx:Spacer width="50" />
- <mx:Label text="textAlign:" />
- <mx:ComboBox change="changeTextAlign(event)">
- <mx:dataProvider>
- <mx:String>left</mx:String>
- <mx:String>center</mx:String>
- <mx:String>right</mx:String>
- </mx:dataProvider>
- </mx:ComboBox>
- </mx:ApplicationControlBar>
- <mx:Accordion id="accordion"
- headerStyleName="MyHeaderStyle"
- themeColor="haloSilver"
- width="100%"
- height="100%"
- change="accordion_change(event);">
- <mx:VBox label="One" />
- <mx:VBox label="Two" />
- <mx:VBox label="Three" />
- <mx:VBox label="Four" />
- <mx:VBox label="Five" />
- </mx:Accordion>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Flex |
Tags: Accordion, getChildren, getStyleDeclaration, icon, setStyleDeclaration()