小小菜鸟的web菜园子

专注FLEX,AIR,FLASH

统计

留言簿(10)

积分与排名

AMF

FLASH

FLEX

FMS

Friends

开源框架

设计之美

数据库相关

我的作品

阅读排行榜

评论排行榜

使Accordion控件的头部不可单击.

Accordion控件的mouseEnabled属性.
示例1:

示例2:

代码:
示例1代码:
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/05/30/preventing-users-from-clicking-on-an-accordion-containers-header-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout
="vertical"
        verticalAlign
="middle"
        backgroundColor
="white">

    
<mx:Script>
        
<![CDATA[
            private function prevChild():void {
                accordion.selectedIndex--;
            }

            private function nextChild():void {
                accordion.selectedIndex++;
            }
        
]]>
    
</mx:Script>

    
<mx:Accordion id="accordion"
            headerRenderer
="comps.MyAccHeader"
            width
="100%" height="100%">
        
<mx:VBox id="v1" label="One" width="100%" height="100%">
            
<mx:VBox width="100%" height="100%">
                
<mx:Label text="One" />
            
</mx:VBox>
            
<mx:ControlBar horizontalAlign="right" width="100%">
                
<mx:Spacer width="100%" />
                
<mx:Button label="next" click="nextChild();" />
            
</mx:ControlBar>
        
</mx:VBox>
        
<mx:VBox id="v2" label="Two" width="100%" height="100%">
            
<mx:VBox width="100%" height="100%">
                
<mx:Label text="Two" />
            
</mx:VBox>
            
<mx:ControlBar width="100%">
                
<mx:Button label="prev" click="prevChild();" />
                
<mx:Spacer width="100%" />
                
<mx:Button label="next" click="nextChild();" />
            
</mx:ControlBar>
        
</mx:VBox>
        
<mx:VBox id="v3" label="Three" width="100%" height="100%">
            
<mx:VBox width="100%" height="100%">
                
<mx:Label text="Three" />
            
</mx:VBox>
            
<mx:ControlBar width="100%">
                
<mx:Button label="prev" click="prevChild();" />
                
<mx:Spacer width="100%" />
                
<mx:Button label="next" click="nextChild();" />
            
</mx:ControlBar>
        
</mx:VBox>
        
<mx:VBox id="v4" label="Four" width="100%" height="100%">
            
<mx:VBox width="100%" height="100%">
                
<mx:Label text="Four" />
            
</mx:VBox>
            
<mx:ControlBar width="100%">
                
<mx:Button label="prev" click="prevChild();" />
                
<mx:Spacer width="100%" />
                
<mx:Button label="next" click="nextChild();" />
            
</mx:ControlBar>
        
</mx:VBox>
        
<mx:VBox id="v5" label="Five" width="100%" height="100%">
            
<mx:VBox width="100%" height="100%">
                
<mx:Label text="Five" />
            
</mx:VBox>
            
<mx:ControlBar width="100%">
                
<mx:Button label="prev" click="prevChild();" />
                
<mx:Spacer width="100%" />
            
</mx:ControlBar>
        
</mx:VBox>
    
</mx:Accordion>

</mx:Application>

comps/MyAccHeader.as:
/**
 * http://blog.flexexamples.com/2008/05/30/preventing-users-from-clicking-on-an-accordion-containers-header-in-flex/
 */
package comps {
    import mx.containers.accordionClasses.AccordionHeader;

    public class MyAccHeader extends AccordionHeader {
        public function MyAccHeader() {
            super();
            mouseEnabled = false;
        }
    }
}

示例2代码:
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/05/30/preventing-users-from-clicking-on-an-accordion-containers-header-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout
="vertical"
        verticalAlign
="middle"
        backgroundColor
="white">

    
<mx:Script>
        
<![CDATA[
            private function prevChild():void {
                accordion.selectedIndex--;
            }

            private function nextChild():void {
                accordion.selectedIndex++;
            }
        
]]>
    
</mx:Script>

    
<mx:Accordion id="accordion"
            headerRenderer
="comps.MyAccHeader"
            width
="100%"
            height
="100%">
        
<mx:VBox id="v1"
                label
="One"
                width
="100%"
                height
="100%">
            
<mx:Label text="One" />
        
</mx:VBox>
        
<mx:VBox id="v2"
                label
="Two"
                width
="100%"
                height
="100%">
            
<mx:Label text="Two" />
        
</mx:VBox>
        
<mx:VBox id="v3"
                label
="Three"
                enabled
="false"
                width
="100%"
                height
="100%">
            
<mx:Label text="Three" />
        
</mx:VBox>
        
<mx:VBox id="v4"
                label
="Four"
                enabled
="false"
                width
="100%"
                height
="100%">
            
<mx:Label text="Four" />
        
</mx:VBox>
        
<mx:VBox id="v5"
                label
="Five"
                width
="100%"
                height
="100%">
               
<mx:Label text="Five" />
        
</mx:VBox>
    
</mx:Accordion>

</mx:Application>
comps/MyAccHeader.as :
/**
 * http://blog.flexexamples.com/2008/05/30/preventing-users-from-clicking-on-an-accordion-containers-header-in-flex/
 */
package comps {
    import mx.containers.accordionClasses.AccordionHeader;
    import mx.events.FlexEvent;

    public class MyAccHeader extends AccordionHeader {
        public function MyAccHeader() {
            super();
            addEventListener(FlexEvent.INITIALIZE, accordionHeader_initialize);
        }

        private function accordionHeader_initialize(evt:FlexEvent):void {
            enabled = data.enabled;
        }
    }
}
Tag标签: FLEX,Accordion

posted on 2008-06-02 13:04 『小小菜鸟』 阅读(66) 评论(0)  编辑 收藏 所属分类: FLEX


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: