想了解更多内容,请访问:
成都创新互联专注于扎鲁特旗网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供扎鲁特旗营销型网站建设,扎鲁特旗网站制作、扎鲁特旗网页设计、扎鲁特旗网站官网定制、成都微信小程序服务,打造扎鲁特旗网络公司原创品牌,更为您提供扎鲁特旗网站排名全网营销落地服务。
和华为官方合作共建的鸿蒙技术社区
https://harmonyos.
接上一篇文章…
上两篇文章已经介绍了大部分的Java UI组件 ,因为时间关系把一个内容分为了三个部分,这是最后一篇组件的介绍。分别介绍ListContainer、ScrollView和WebView。
ListContainer是用来呈现连续、多行数据的组件,包含一系列相同类型的列表项。
ListContainer和ScrollView在介绍嵌套开发时使用到了其中的一些属性,但是没有具体的介绍说明。
ListContainer的共有XML属性继承自:Component,其基础属性就不再过多的赘述。ListContainer的自有XML属性见下表:
使用ListContainer时,需要编写适配器来构造不同的数据结构,在编写适配器时需要注意:要继承自BaseItemProvider并重写以下方法。
ScrollView是一种带滚动功能的组件,它采用滑动的方式在有限的区域内显示更多的内容。
ScrollView的共有XML属性继承自:StackLayout,ScrollView的自有XML属性见下表:
ScrollView的速度、滚动、回弹等常用接口如下:
WebView提供在应用中集成Web页面的能力。
在使用WebView时需要配置应用的网络权限。打开“entry > src > main > config.json”,并添加如下配置。
- {
- ...
- "module": {
- ...
- "reqPermissions": [
- {
- "name": "ohos.permission.INTERNET"
- }
- ],
- ...
- }
- }
与Android中的Webview有着一样的功能,显示相应的网页数据,并且可以与JavaScript代码相互调用。
通过WebConfig启用JavaScript
- webView.getWebConfig().setJavaScriptPermit(true);
使用回调方法或者应用内部调用JavaScript方法。
注入回调对象到页面内容
- final String jsName = "JsCallbackToApp";
- webView.addJsCallback(jsName, new JsCallback() {
- @Override
- public String onCallback(String msg) {
- // 增加自定义处理
- return "jsResult";
- }
- });
- //---------------------------------------------
- function callToApp() {
- if (window.JsCallbackToApp && window.JsCallbackToApp.call) {
- var result = JsCallbackToApp.call("message from web");
- }
- }
在应用内调用页面内的JavaScript方法。
- webView.executeJs("javascript:callFuncInWeb()", new AsyncCallback
() { - @Override
- public void onReceive(String msg) {
- // 在此确认返回结果
- }
- });
观测Web状态
通过setWebAgent方法设置自定义WebAgent对象,以观测页面状态变更等事件:
- webView.setWebAgent(new WebAgent() {
- @Override
- public void onLoadingPage(WebView webview, String url, PixelMap favicon) {
- super.onLoadingPage(webview, url, favicon);
- // 页面开始加载时自定义处理
- }
- @Override
- public void onPageLoaded(WebView webview, String url) {
- super.onPageLoaded(webview, url);
- // 页面加载结束后自定义处理
- }
- @Override
- public void onLoadingContent(WebView webview, String url) {
- super.onLoadingContent(webview, url);
- // 加载资源时自定义处理
- }
- @Override
- public void onError(WebView webview, ResourceRequest request, ResourceError error) {
- super.onError(webview, request, error);
- // 发生错误时自定义处理
- }
- });
想了解更多内容,请访问:
和华为官方合作共建的鸿蒙技术社区
https://harmonyos.
分享名称:HarmonyOS学习路之开发篇—JavaUI框架
文章链接:http://www.shufengxianlan.com/qtweb/news18/51218.html
成都网站建设公司_创新互联,为您提供网站策划、电子商务、域名注册、小程序开发、网站导航、网站排名
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联