您现在的位置是:亿华云 > IT科技类资讯
HarmonyOS学习路之开发篇—Java UI框架
亿华云2025-10-08 20:52:57【IT科技类资讯】4人已围观
简介想了解更多内容,请访问:和华为官方合作共建的鸿蒙技术社区https://harmonyos.51cto.com接上一篇文章…上两篇文章已经介绍了大部分的Java UI组件 ,因为时间关系把一个内容分为
想了解更多内容,学习路请访问:
和华为官方合作共建的发篇鸿蒙技术社区
https://harmonyos.51cto.com
接上一篇文章…
上两篇文章已经介绍了大部分的Java UI组件 ,因为时间关系把一个内容分为了三个部分,框架这是学习路最后一篇组件的介绍。分别介绍ListContainer、发篇ScrollView和WebView。框架
二、学习路分类说明
⑪ListContainer
ListContainer是发篇用来呈现连续、多行数据的框架组件,包含一系列相同类型的学习路列表项。
ListContainer和ScrollView在介绍嵌套开发时使用到了其中的发篇一些属性,但是框架没有具体的香港云服务器介绍说明。
ListContainer的学习路共有XML属性继承自:Component,其基础属性就不再过多的发篇赘述。ListContainer的框架自有XML属性见下表:
使用ListContainer时,需要编写适配器来构造不同的数据结构,在编写适配器时需要注意:要继承自BaseItemProvider并重写以下方法。
⑫ScrollView
ScrollView是一种带滚动功能的组件,它采用滑动的方式在有限的区域内显示更多的内容。
ScrollView的共有XML属性继承自:StackLayout,ScrollView的云服务器自有XML属性见下表:
ScrollView的速度、滚动、回弹等常用接口如下:
⑬WebView
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<String>() { @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.51cto.com
很赞哦!(295)
相关文章
- 以上的就是为大家介绍的关于域名的详解
- 写给前端工程师的Flutter详细教程
- 10行代码制作群聊提醒小助手,再也不怕漏掉消息了
- 2019年前端发展趋势总结
- 第六:这个圈子里的域名确实是赚钱的一些大玩家,至于小米农,有多少赚钱?几乎没有,也就是说,轿子里只有一个人,而且大多数人都抬着轿子。
- 一个老程序员的30年生涯回顾
- 使用一行Python代码从图像读取文本
- 还在担心双十二涨价,Python做一个天猫商品价格监督器
- 域后缀首选.com,.net,然后是.cn。后缀选择不当,导致流量损失。域名是企业与互联网网址之间的链接,关键是企业在网络上存在的标志。因此,选择好域名是开展网上工作的首要重要条件。
- Python中如何实现参数化测试?