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
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- xmlns:comps="comps.*"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <comps:MyAccordion id="accordion"
- 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"
- width="100%"
- height="100%">
- <mx:Label text="Three" />
- </mx:VBox>
- <mx:VBox id="v4"
- label="Four"
- 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>
- </comps:MyAccordion>
- </mx:Application>
下面是继承类代码:
Download: MyAccordion.as
- package comps {
- import mx.containers.Accordion;
- import flash.events.KeyboardEvent;
- public class MyAccordion extends Accordion {
- public function MyAccordion() {
- super();
- }
- override protected function keyDownHandler(evt:KeyboardEvent):void {
- }
- }
- }
代码:Peter deHaan 翻译/整理/编译:minidxer
Topics:
Flex |
Tags: Accordion, keyboard, keyDownHandler, navigation
Trackbacks