flash lite2.0学习笔记之二——flash lite 支持的键及其应用

发布于 2006-05-06  2.73k 次阅读


flash lite 支持的键

左右软键:最上面的左右两边的软键
导航小键盘:方向键和ok键
数字键和* #键:0.1.2.3.4.5.6.7.8.9.*.#

当某个输入文本字段具有焦点并且用户按选择键时,Flash Lite 会打开设备的通用文本输入对话框,用户可以在其中输入文本。

其中数字键和导航小键盘是所有设备都可用的。左右软键是只有支持SetSoftKeys命令的设备可用。

Flash Lite 支持三种默认导航模式:双向导航、四向导航和具有换行功能的四向导航。不同的设备和 Flash Lite 内容类型支持不同的导航模式。

一般情况下,双向导航中的默认 Tab 键顺序为从左到右和从上到下。可以使用 Button、MovieClip 和 TextField 对象的 tabIndex 属性来自定义双向导航中的 Tab 键顺序。(注意:在支持四向导航的设备上,不支持 tabIndex 属性,因此不可能使用 tabIndex 属性为四向导航设置 Tab 键顺序。)

要在双向导航中控制 Tab 键顺序,可以为每个对象的 tabIndex 属性赋予一个数值,此数值指定该对象在默认导航中的顺序。例如,假设一个应用程序包含按钮 (my_button)、影片剪辑 (my_movieclip) 以及输入文本字段 (my_inputTxt)。以下代码确定了 Tab 键顺序,以使按钮最先获得焦点,接着是影片剪辑,最后是输入文本字段。
my_button.tabIndex = 1;
my_movieclip.tabEnabled = true;
my_movieclip.tabIndex = 2;
my_inputTxt.tabIndex = 3;
这个属性tabEnabled是指是否包括在 Tab 键的自动排序中。默认情况下为 undefined。如果 tabEnabled 属性为 undefined 或 true,则该对象包括在 Tab 键的自动排序中。如果 tabIndex 属性也设置为某个值,则该对象也包括在 Tab 键的自定义排序中。如果 tabEnabled 为 false,则即使设置了 tabIndex 属性,该对象也不包括在 Tab 键的自动或自定义排序中。

如果my_movieclip.tabEnabled = false;那么my_movieclip则不在排序中。

支持手机的键以及对应的代码。

设备键 ActionScript 键控代码/键控代码常数
选择键 Key.ENTER
上导航键 Key.UP
下导航键 Key.DOWN
左导航键 Key.LEFT
右导航键 Key.RIGHT
左软键 ExtendedKey.SOFT1(或 soft1)
右软键 ExtendedKey.SOFT2(或 soft2)
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
* 56
# 51

例如:
var myListener:Object = new Object();
myListener.onKeyDown = function() {
if (Key.getCode() == Key.RIGHT) {
trace("You pressed the right arrow key");
}
}
Key.addListener(myListener);
例如:
var myListener:Object = new Object();
myListener.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
circle._x -= 10;
} else if (Key.getCode() == Key.RIGHT) {
circle._x += 10;
} else if (Key.getCode() == Key.UP) {
circle._y -= 10;
} else if (Key.getCode() == Key.DOWN) {
circle._y += 10;
}
};
Key.addListener(myListener);
例如:
fscommand2("SetSoftKeys", "Left", "Right");
fscommand2("FullScreen", true);
var myListener:Object = new Object();
myListener.onKeyDown = function() {
if (Key.getCode() == ExtendedKey.SOFT1) {
// 处理左软键按键事件。
status.text = "You pressed the Left soft key.";

} else if (Key.getCode() == ExtendedKey.SOFT2) {
// 处理右软键按键事件。
status.text = "You pressed the Right soft key.";
}
};
Key.addListener(myListener);

要在 Flash Lite 应用程序中使用左右软键,必须首先调用 SetSoftKeys 命令。之后,当用户按左软键时,Flash Lite 会生成一个 ExtendedKey.SOFT1 事件;当用户按右软键时,会生成一个 ExtendedKey.SOFT2 事件。

按钮事件说明
onDragOut 仅在具有鼠标或笔针的设备上支持。当用户在按钮上按下鼠标按钮,然后将鼠标指针拖动到按钮之外时调用。
onDragOver 仅在具有鼠标或笔针的设备上支持。当用户在按钮外部按下鼠标按钮,然后将鼠标指针拖动到按钮之上时调用。
onKeyDown 当按钮具有焦点而且释放某按键时调用。
onKeyUp 当按钮具有焦点而且按下某按键时调用。
onKillFocus 当从按钮中删除焦点时调用。
onPress 在按钮具有焦点的情况下当用户按设备上的选择键时调用。
onRelease 在按钮具有焦点的情况下当用户释放设备上的选择键时调用。
onReleaseOutside 在这样的情况下调用:在鼠标指针位于按钮内部的情况下按下按钮,然后将鼠标指针移到该按钮外部并释放鼠标按钮。
onRollOut 当按钮失去焦点时调用。
onRollOver 当按钮接收焦点时调用。
onSetFocus 当按钮具有输入焦点而且释放某按键时调用。
// 由于按钮具有指针经过状态而禁用焦点矩形
_focusRect = false;
// 事件处理函数 btn_1
btn_1.onPress = function() {
trace("You pressed Button 1");
}
btn_1.onRelease = function() {
trace("You released Button 1");
}
btn_1.onRollOver = function() {
trace("Button 1 has focus");
}
btn_1.onRollOut = function() {
trace("Button 1 lost focus");
}

// 事件处理函数 btn_2
btn_2.onPress = function() {
trace("You pressed Button 2");
}
btn_2.onRelease = function() {
trace("You released Button 2");
}
btn_2.onRollOver = function() {
trace("Button 2 has focus");
}
btn_2.onRollOut = function() {
trace("Button 2 lost focus");
}


有些随风有些入梦