当前位置: 首页 > 科技观察

HarmonyOS学习之路开发-JavaUI框架_0

时间:2023-03-21 14:20:28 科技观察

想要了解更多请访问:Harmonyos技术社区https://harmonyos.51cto.com,这是与华为官方共同打造的文章,介绍了大部分的JavaUI组件,因为时间关系将一个内容分为三个部分,这是最后一个组成部分的介绍。分别引入ListContainer、ScrollView和WebView。2.分类?ListContainerListContainer是用来呈现连续的、多行数据的组件,包括一系列相同类型的列表项。ListContainer和ScrollView在介绍嵌套开发的时候用到了其中的一些属性,但是没有具体介绍。ListContainer的常用XML属性继承自:Component,其基本属性不再过多描述。ListContainer自带的XML属性如下表所示:使用ListContainer时,需要编写适配器来构造不同的数据结构。编写适配器时需要注意:继承自BaseItemProvider,重写以下方法。?ScrollViewScrollView是一个具有滚动功能的组件,利用滑动的方式在有限的区域内显示更多的内容。ScrollView的常用XML属性继承于:StackLayout,ScrollView自带的XML属性如下表所示:ScrollView的速度、滚动、回弹等常用接口如下:?WebViewWebView提供了将网页集成到应用程序。使用WebView时,需要配置应用的网络权限。打开“entry>src>main>config.json”,添加如下配置。{..."module":{..."reqPermissions":[{"name":"ohos.permission.INTERNET"}],...}}与Android中的Webview功能相同,显示对应的Web页面数据,并可以用JavaScript代码相互调用。通过WebConfig启用JavaScriptwebView.getWebConfig().setJavaScriptPermit(true);使用回调方法或在应用程序内部调用JavaScript方法。在页面内容中注入回调对象finalStringjsName="JsCallbackToApp";webView.addJsCallback(jsName,newJsCallback(){@OverridepublicStringonCallback(Stringmsg){//添加自定义处理return"jsResult";}});//---------------------------------------------functioncallToApp(){if(window.JsCallbackToApp&&window.JsCallbackToApp.call){varresult=JsCallbackToApp.call("messagefromweb");}}在应用中调用页面中的JavaScript方法。webView.executeJs("javascript:callFuncInWeb()",newAsyncCallback(){@OverridepublicvoidonReceive(Stringmsg){//这里确认返回结果}});观察Web状态通过setWebAgent方法设置一个自定义的WebAgent对象来观察页面状态变化等事件:;//页面开始加载时的自定义处理}@OverridepublicvoidonPageLoaded(WebViewwebview,Stringurl){super.onPageLoaded(webview,url);//页面加载完成后的自定义处理}@OverridepublicvoidonLoadingContent(WebViewwebview,Stringurl){super.onLoadingContent(webview,url);//加载资源时的自定义处理}@OverridepublicvoidonError(WebViewwebview,ResourceRequestrequest,ResourceErrorerror){super.onError(webview,request,error);//发生错误时的自定义处理}});更多信息请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com