Skip to content

RawRuleProps

全局规则和应用规则的基础通用属性

继承

继承于

属性

key?

可选 Integer

当前规则在列表中的唯一标识

key 没有顺序大小之分, 可以是任意数字

设置后不可更改, 否则造成点击记录错乱


name?

可选 string

规则名称


preKeys?

可选 IArray<Integer>

要求当前列表里某个 key 刚刚执行

比如: 点击关闭按钮-选择关闭原因-确认关闭, key 分别是 1,2,3, preKeys 分别是 [],[1],[2]

那么 选择关闭原因 必须要求 点击关闭按钮 刚刚执行过才能执行, 确认关闭 也要求 选择关闭原因 刚刚执行过才执行

否则后面的规则不会触发, 也就是要求规则按顺序执行, 这是为了防止规则匹配范围太过广泛而误触


action?

可选 "click" | "clickNode" | "clickCenter" | "back" | "longClick" | "longClickNode" | "longClickCenter" | "swipe" | "none"

规则匹配后的操作行为

position 存在的情况下, action 的默认值为 clickCenter

swipeArg 存在的情况下, action 的默认值为 swipe

示例

ts
`click`
// 为默认值, 如果目标节点是 clickable 的, 则使用 `clickNode`, 反之使用 `clickCenter`
// 并且当 `clickNode` 事件没有被应用接收时, 则使用 `clickCenter`
ts
`clickNode`
// 向系统发起一个点击无障碍节点事件. 即使节点在屏幕外部/或者被其它节点遮挡,也依然能够正确触发点击目标节点
// 但是如果目标节点不是 clickable 的, 目标应用通常不响应这个点击事件, 也就是点击无效果
// 在极少数情况下, 即使节点是 clickable 的,应用显示接收但是不响应节点点击事件, 此时需要手动设置 `clickCenter`
ts
`clickCenter`
// 计算出此控件的中心的坐标并且如果这个坐标在屏幕内部,那么就向系统发起一个点击屏幕坐标事件
// 如果这个坐标不在屏幕内部, 当作未匹配
// 另外如果目标节点的位置被其它节点遮挡覆盖, 则会点击触发最上层的节点(可能不是目标节点)
ts
`back`
// 向系统发起一个返回事件, 相当于按下返回键
ts
`longClick`
// 如果目标节点是 longClickable 的, 则使用 `longClickNode`, 反之使用 `longClickCenter`
// 并且当 `longClickNode` 事件没有被应用接收时, 则使用 `longClickCenter`
ts
`longClickNode`
// 向系统发起一个长按无障碍节点事件,与 clickNode 类似
ts
`longClickCenter`
// 与 clickCenter 类似, 长按时间为 400 毫秒
ts
`swipe`
// 向系统发起一个滑动事件, 使用 swipeArg 定义滑动参数
ts
`none`
// 什么都不做, 仅作为匹配标记使用

position?

可选 Position

在使用 clickCenter/longClickCenter 时的自定义点击位置

默认坐标为节点中心

如果计算出的坐标不在屏幕内部, 当作未匹配

在 position 存在的情况下, action 的默认值为 clickCenter


swipeArg?

可选 SwipeArg

在使用 swipe 时的滑动参数

在 swipeArg 存在的情况下, action 的默认值为 swipe


matches?

可选 IArray<string>

一个或者多个合法的 GKD 选择器, 如果所有选择器都能匹配上节点, 那么点击最后一个选择器的目标节点

点击优先级大于 anyMatches


anyMatches?

可选 IArray<string>

一个或者多个合法的 GKD 选择器, 如果存在一个选择器能匹配上节点, 那么点击这个节点

如果 anyMatches 的所有选择器都无法匹配, 则停止匹配此规则

matches 一起使用时, 仍然点击 matches 的最后一项


excludeMatches?

可选 IArray<string>

一个或者多个合法的 GKD 选择器, 如果存在一个选择器匹配上节点, 则停止匹配此规则


excludeAllMatches?

可选 IArray<string>

一个或者多个合法的 GKD 选择器, 如果所有选择器匹配上节点, 则停止匹配此规则

继承属性

Released under the GPL-v3 License.