# JsView.listenerToAckEvent 事件列表
listenerToAckEvent接口参数含义为:
category
消息分组,可在具体事件描述中查到type
消息类名,可在具体事件描述中查到id
消息发出者的识别信息(当一种事件有多个发出者时),
每个事件各自有自定义信息,可在具体事件描述中查到AckEventListener.AckEventCallback callback
消息回调
# JS Context reset事件
category
AckEventDefine.CATEGORY_JSCtype
AckEventDefine.TYPE_JS_CONTEXT_LIFECYCLE
发生时机为JsViewInstance.reload()时。
回调bundle中的内容为:
{
act: "reset",
contentId: // int类型的content ID
}
2
3
4
其中,contentId为JS虚拟机的ID,单个进程中存在多个JsView并存场景时,通过此ID来识别是哪个进行Reset行为。此ID可在js中通过window.JsView.getJsContextId() 获得,然后通过JavaInterface接口通知给Java层。
# NativeSharedView位置变更事件
category
AckEventDefine.CATEGORY_VIEWtype
AckEventDefine.TYPE_SHARED_VIEW_LAYOUTid
JS中<JsvNativeSharedDiv>组件的ID值,通过js调用此组件的 getId 接口回调获取ID, 或者通过组件的 setId 属性来设置一个唯一ID(建议ID中含有通过 window.JsView.getJsContextId() 获得的JS虚拟机ID,用于在多JsView场景下识别)。然后js将此ID通过JavaInterface注册的用户自定义接口通知给java层进行匹配。
该事件的目的是为了跟进JS层面 JsvNativeSharedDiv 高阶组件在屏幕上的绝对位置的变化(top, left, width, height的变化)。 回调bundle中的内容为:
{
x: // int类型的left信息
y: // int类型的top信息
width: // int类型的width信息
height: // int类型的height信息
dw: // designed map, 为js APP 的 AppConfig/jsview.config.js中
// vendorConfig.designedMap.screenWidth设置值
order: // int类型, 与同类NativeSharedView的相对图层顺序,数值越大越在上层
visible: // int类型, view是否可见,(0:不可见, 1:可见)
mat4: // native指针类型, view的位置信息的matrix(旋转翻转等效果时使用),
// 此指针为实时同步接口,当stashedEvent为true时,此指针不可使用
stashedEvent: // bool类型,false时此key都不会存在。true时标识此消息非实时事件
}
2
3
4
5
6
7
8
9
10
11
12
13