Android APIs
优质
小牛编辑
126浏览
2023-12-01
Weex Native 和 JavaScript 交互通信.
自定义发送事件
向JS环境发送一些事件,比如click
事件
void fireEvent(elementRef,type)
void fireEvent(elementRef,type, data)
void fireEvent(elementRef,type,data,domChanges)
elementRef
(String):产生事件的组件idtype
(String): 事件名称,weex默认事件名称格式为"onXXX",比如OnPullDown
data
(Map<String, Object>): 需要发送的一些额外数据,比如click
时,view大小,点击坐标等等。domChanges
(Map<String, Object>): 目标组件的属性和样式发生的修改内容
结果回调
JS调用时,有的场景需要返回一些数,比如以下例子,返回x、y坐标
public class WXLocation extends WXModule {
@JSMethod
public void getLocation(JSCallback callback){
//Get the code for the location information .....
Map<String,String> data=new HashMap<>();
data.put("x","x");
data.put("y","y");
//notify once
callback.invoke(data);
//Continuous connection
callback.invokeAndKeepAlive(data);
//Invoke method and invokeAndKeepAlive two methods of choice }
}
OnWXScrollListener
如果想要拿到instance滚动的信息,需要在WXSDKInstance
上注册registerOnWXScrollListener
,详细参数见OnWXScrollListener
其它的一些接口介绍
设置instance显示的大小
使用mWXSDKInstance.setSize()
来改变instance容器显示的大小
降级
Weex在开发过程中,会不断增加新的feature,但是这些feature可能在老版本上不兼容。这种情况下,native可以在IWXRenderListener
的onException
中进行判断,如果错误信息是 "|"格式. 并且分割后,"|"前第一个字符串等于1,这时候native可以直接降级到h5页面或者提示用户当前版本不支持。