add: tutorial tab

This commit is contained in:
hyb1996
2017-08-22 18:11:14 +08:00
parent 602b84fc92
commit 42f6802598
21 changed files with 858 additions and 305 deletions

View File

@@ -21,17 +21,17 @@ events.onKeyDown("menu", function(event){
```
### events.emitter()
## events.emitter()
返回一个新的EventEmitter。
### events.observeKey()
## events.observeKey()
启用按键监听例如音量键、Home键。
在安卓4.3以上才能使用。
### events.onKeyDown(keyName, listener)
## events.onKeyDown(keyName, listener)
* keyName \<String\> 要监听的按键名称
* listener \<Function\> 参数为一个[KeyEvent](#KeyEvent)
@@ -42,51 +42,51 @@ events.onKeyDown("menu", function(event){
* back 返回键
* menu 菜单键
### events.onKeyUp(keyName, listener)
## events.onKeyUp(keyName, listener)
* keyName \<String\> 要监听的按键名称
* listener \<Function\> 参数为一个[KeyEvent](#KeyEvent)
注册一个按键监听函数当有keyName对应的按键弹起时会调用该函数。
### events.onceKeyDown(keyName, listener)
## events.onceKeyDown(keyName, listener)
* keyName \<String\> 要监听的按键名称
* listener \<Function\> 参数为一个[KeyEvent](#KeyEvent)
注册一个按键监听函数当有keyName对应的按键被按下时会调用该函数之后会注销该按键监听。也就是listener只会被调用一次。
### events.onceKeyUp(keyName, listener)
## events.onceKeyUp(keyName, listener)
* keyName \<String\> 要监听的按键名称
* listener \<Function\> 参数为一个[KeyEvent](#KeyEvent)
注册一个按键监听函数当有keyName对应的按键弹起时会调用该函数之后会注销该按键监听。也就是listener只会被调用一次。
### events.removeAllKeyDownListeners(keyName)
## events.removeAllKeyDownListeners(keyName)
* keyName \<String\> 按键名称
删除该按键的KeyDown事件的所有监听。
### events.removeAllKeyUpListeners(keyName)
## events.removeAllKeyUpListeners(keyName)
* keyName \<String\> 按键名称
删除该按键的KeyUp事件的所有监听。
### events.observeTouch()
## events.observeTouch()
启用屏幕触摸监听。需要root权限
### events.setTouchEventTimeout(timeout)
## events.setTouchEventTimeout(timeout)
* timeout \<Number\> 两个触摸事件的最小间隔。单位毫秒。默认为10毫秒。
设置两个触摸事件分发的最小时间间隔。
例如间隔为10毫秒的话前一个触摸事件发生并被注册的监听器处理后至少要过10毫秒才能分发和处理下一个触摸事件这10毫秒之间的触摸将会被忽略。
### events.getTouchEventTimeout()
## events.getTouchEventTimeout()
返回触摸事件的最小时间间隔。
### events.onTouch(listener)
## events.onTouch(listener)
* listener \<Function\> 参数为Point的函数
注册一个触摸监听函数。相当于`on("touch", listener)`
@@ -100,11 +100,11 @@ events.onTouch(function(p){
events.loop();
```
### events.removeAllTouchListeners()
## events.removeAllTouchListeners()
删除所有事件监听函数。
### 事件: 'key'
## 事件: 'key'
* keyCode \<Number\> 键值
* event \<KeyEvent\> 事件
@@ -124,7 +124,7 @@ events.loop();
* KeyEvent.KEYCODE_VOLUME_UP 音量上键
* KeyEvent.KEYCODE_VOLUME_DOWN 音量下键
### 事件: 'key_down'
## 事件: 'key_down'
* keyCode \<Number\> 键值
* event \<KeyEvent\> 事件
@@ -138,7 +138,7 @@ events.on("key_down", function(keyCode, event){
events.loop();
```
### 事件: 'key_up'
## 事件: 'key_up'
* keyCode \<Number\> 键值
* event \<KeyEvent\> 事件
@@ -153,7 +153,7 @@ events.loop();
```
### obverseNotification()
## obverseNotification()
开启通知(包括Toast)监听。
```
events.obverseNotification();
@@ -165,12 +165,12 @@ events.onToast(function(toast){
});
```
### 事件: 'toast'
## 事件: 'toast'
* toast \<Object\>
* getText() 获取Toast的文本内容
* getPackageName() 获取发出Toast的应用包名
### 事件: 'notification'
## 事件: 'notification'
* notification \<Object\> 通知
```
@@ -184,7 +184,7 @@ events.on("notification", function(notification){
# EventEmitter
### EventEmitter.defaultMaxListeners
## EventEmitter.defaultMaxListeners
每个事件默认可以注册最多 10 个监听器。 单个 EventEmitter 实例的限制可以使用 emitter.setMaxListeners(n) 方法改变。 所有 EventEmitter 实例的默认值可以使用 EventEmitter.defaultMaxListeners 属性改变。
@@ -199,19 +199,20 @@ emitter.once('event', () => {
});
```
## EventEmitter.addListener(eventName, listener)
* eventName \<any\>
* listener \<Function\>
* eventName {any}
* listener {Function}
emitter.on(eventName, listener) 的别名。
### EventEmitter.emit(eventName\[, ...args\])
* eventName <any>
* args <any>
## EventEmitter.emit(eventName\[, ...args\])
* eventName {any}
* args {any}
按监听器的注册顺序,同步地调用每个注册到名为 eventName 事件的监听器,并传入提供的参数。
如果事件有监听器,则返回 true ,否则返回 false。
### EventEmitter.eventNames()
## EventEmitter.eventNames()
返回一个列出触发器已注册监听器的事件的数组。 数组中的值为字符串或符号。
```
@@ -225,17 +226,17 @@ myEE.on(sym, () => {});
console.log(myEE.eventNames());
// 打印: [ 'foo', 'bar', Symbol(symbol) ]
```
### EventEmitter.getMaxListeners()#
## EventEmitter.getMaxListeners()
返回 EventEmitter 当前的最大监听器限制值,该值可以通过 emitter.setMaxListeners(n) 设置或默认为 EventEmitter.defaultMaxListeners。
### EventEmitter.listenerCount(eventName)
* eventName <any> 正在被监听的事件名
## EventEmitter.listenerCount(eventName)
* eventName {any} 正在被监听的事件名
返回正在监听名为 eventName 的事件的监听器的数量。
### EventEmitter.listeners(eventName)
* eventName <any>
## EventEmitter.listeners(eventName)
* eventName {any}
返回名为 eventName 的事件的监听器数组的副本。
```
@@ -246,9 +247,9 @@ console.log(util.inspect(server.listeners('connection')));
// 打印: [ [Function] ]
```
### EventEmitter.on(eventName, listener)
* eventName <any> 事件名
* listener <Function> 回调函数
## EventEmitter.on(eventName, listener)
* eventName {any} 事件名
* listener {Function} 回调函数
添加 listener 函数到名为 eventName 的事件的监听器数组的末尾。 不会检查 listener 是否已被添加。 多次调用并传入相同的 eventName 和 listener 会导致 listener 被添加与调用多次。
```
@@ -270,9 +271,9 @@ myEE.emit('foo');
```
### EventEmitter.once(eventName, listener)#
* eventName <any> 事件名
* listener <Function> 回调函数
## EventEmitter.once(eventName, listener)#
* `eventName` {any} 事件名
* `listener` {Function} 回调函数
添加一个单次 listener 函数到名为 eventName 的事件。 下次触发 eventName 事件时,监听器会被移除,然后调用。
```
@@ -293,9 +294,9 @@ myEE.emit('foo');
// a
```
### EventEmitter.prependListener(eventName, listener)
* eventName <any> 事件名
* listener <Function> 回调函数
## EventEmitter.prependListener(eventName, listener)
* `eventName` {any} 事件名
* `listener` {Function} 回调函数
添加 listener 函数到名为 eventName 的事件的监听器数组的开头。 不会检查 listener 是否已被添加。 多次调用并传入相同的 eventName 和 listener 会导致 listener 被添加与调用多次。
```
@@ -305,9 +306,9 @@ server.prependListener('connection', (stream) => {
```
返回一个 EventEmitter 引用,可以链式调用。
### EventEmitter.prependOnceListener(eventName, listener)
* eventName <any> 事件名
* listener <Function> 回调函数
## EventEmitter.prependOnceListener(eventName, listener)
* `eventName` {any} 事件名
* `listener` {Function} 回调函数
添加一个单次 listener 函数到名为 eventName 的事件的监听器数组的开头。 下次触发 eventName 事件时,监听器会被移除,然后调用。
```
@@ -317,8 +318,8 @@ server.prependOnceListener('connection', (stream) => {
```
返回一个 EventEmitter 引用,可以链式调用。
### EventEmitter.removeAllListeners(\[eventName\])
* eventName <any>
## EventEmitter.removeAllListeners(\[eventName\])
* `eventName` {any}
移除全部或指定 eventName 的监听器。
@@ -326,9 +327,9 @@ server.prependOnceListener('connection', (stream) => {
返回一个 EventEmitter 引用,可以链式调用。
### EventEmitter.removeListener(eventName, listener)
* eventName <any>
* listener <Function>
## EventEmitter.removeListener(eventName, listener)
* `eventName` {any}
* `listener` {Function}
从名为 eventName 的事件的监听器数组中移除指定的 listener。
```
@@ -376,8 +377,8 @@ myEmitter.emit('event');
返回一个 EventEmitter 引用,可以链式调用。
### EventEmitter.setMaxListeners(n)
* n <integer>
## EventEmitter.setMaxListeners(n)
* n {number}
默认情况下,如果为特定事件添加了超过 10 个监听器,则 EventEmitter 会打印一个警告。 此限制有助于寻找内存泄露。 但是,并不是所有的事件都要被限为 10 个。 emitter.setMaxListeners() 方法允许修改指定的 EventEmitter 实例的限制。 值设为 Infinity或 0表明不限制监听器的数量。
@@ -385,29 +386,29 @@ myEmitter.emit('event');
# KeyEvent
### KeyEvent.getAction()
## KeyEvent.getAction()
返回事件的动作。包括:
* KeyEvent.ACTION_DOWN 按下事件
* KeyEvent.ACTION_UP 弹起事件
* `KeyEvent.ACTION_DOWN` 按下事件
* `KeyEvent.ACTION_UP` 弹起事件
### KeyEvent.getKeyCode()
## KeyEvent.getKeyCode()
返回按键的键值。包括:
* KeyEvent.KEYCODE_HOME 主页键
* KeyEvent.KEYCODE_BACK 返回键
* KeyEvent.KEYCODE_MENU 菜单键
* KeyEvent.KEYCODE_VOLUME_UP 音量上键
* KeyEvent.KEYCODE_VOLUME_DOWN 音量下键
* `KeyEvent.KEYCODE_HOME` 主页键
* `KeyEvent.KEYCODE_BACK` 返回键
* `KeyEvent.KEYCODE_MENU` 菜单键
* `KeyEvent.KEYCODE_VOLUME_UP` 音量上键
* `KeyEvent.KEYCODE_VOLUME_DOWN` 音量下键
### KeyEvent.getEventTime()
## KeyEvent.getEventTime()
返回事件发生的时间戳。
返回事件发生的时间戳。返回值的类型是number。
### KeyEvent.getDownTime()
## KeyEvent.getDownTime()
返回最近一次按下事件的时间戳。如果本身是按下事件则与getEventTime()相同。
### KeyEvent.keyCodeToString(keyCode)
## KeyEvent.keyCodeToString(keyCode)
把键值转换为字符串。例如KEYCODE_HOME转换为"KEYCODE_HOME"。
把键值转换为字符串。例如`KEYCODE_HOME`转换为`"KEYCODE_HOME"`