Flex中通过继承扩展Accordion类和重载protected keyDownHandler()事件使Accordion控件中键盘导航(keyboard navigation)功能无效的例子

By Minidxer | June 15, 2008

参照前面的关于Accordion的例子,比如Flex中通过自定义Accordion容器头部来阻止用户点击Accordion容器头部的例子lex中如何通过设定headerStyleName样式在Accordion控件中使用嵌入字体的例子等等,在获取光标后,可以通过键盘来操作(比如移动上下键,按下空白键等)。接下来的例子演示了Flex中通过继承扩展Accordion类和重载protected keyDownHandler()事件,使Accordion控件中键盘导航(keyboard navigation)功能无效。

让我们先来看一下Demo(可以右键View Source或点击这里察看源代码


下面是完整代码(或点击这里查看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         xmlns:comps="comps.*"
  4.         layout="vertical"
  5.         verticalAlign="middle"
  6.         backgroundColor="white">
  7.  
  8.     <comps:MyAccordion id="accordion"
  9.             width="100%"
  10.             height="100%">
  11.         <mx:VBox id="v1"
  12.                 label="One"
  13.                 width="100%"
  14.                 height="100%">
  15.             <mx:Label text="One" />
  16.         </mx:VBox>
  17.         <mx:VBox id="v2"
  18.                 label="Two"
  19.                 width="100%"
  20.                 height="100%">
  21.             <mx:Label text="Two" />
  22.         </mx:VBox>
  23.         <mx:VBox id="v3"
  24.                 label="Three"
  25.                 width="100%"
  26.                 height="100%">
  27.             <mx:Label text="Three" />
  28.         </mx:VBox>
  29.         <mx:VBox id="v4"
  30.                 label="Four"
  31.                 width="100%"
  32.                 height="100%">
  33.             <mx:Label text="Four" />
  34.         </mx:VBox>
  35.         <mx:VBox id="v5"
  36.                 label="Five"
  37.                 width="100%"
  38.                 height="100%">
  39.                <mx:Label text="Five" />
  40.         </mx:VBox>
  41.     </comps:MyAccordion>
  42.  
  43. </mx:Application>
下面是继承类代码:
Download: MyAccordion.as
  1. package comps {
  2.     import mx.containers.Accordion;
  3.     import flash.events.KeyboardEvent;
  4.  
  5.     public class MyAccordion extends Accordion {
  6.         public function MyAccordion() {
  7.             super();
  8.         }
  9.  
  10.         override protected function keyDownHandler(evt:KeyboardEvent):void {
  11.         }
  12.     }
  13. }
代码:Peter deHaan 翻译/整理/编译:minidxer

Topics: Flex | Tags: , , ,

Related Post

2 comments | Add One

Leave a Comment

Name(*):

E-Mail(*) :

Website :

Comments :

Search Posts

Archives

Sponsored Ads