HarmonyOS学习路之开发篇—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

相关文章
电光火石电脑安装教程(为您解析电脑组装步骤,让您成为电脑高手)
摘要:随着科技的发展,电脑已经成为我们生活中不可或缺的工具。然而,很多人对于电脑的硬件知识却了解甚少,对于自己动手组装一台电脑感到困惑。本文将为您详细介绍电光火石电脑安装教程,帮助您轻松...2025-11-04
干货|SpringBoot JMS(ActiveMQ)API实践应用详解
前言Active是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。AC-tiveMQ使用Apache提供的授权,任何人都2025-11-04
谁造就了印度9岁编码神童?编程教师月薪10万卢比,收入翻牙医10倍
天下家长都一样操心,疫情期间,印度家长也因为孩子在家虚度光阴而掀起了「在线编程课程」热潮。无独有偶,在线教育造就了印度编码神童,9岁就能开发各种平台。而在这背后,是印度编码课程的繁荣,也是世界市场的巨2025-11-04
Golang 和 Rust 之间有明显的区别。Golang 更加注重构建可以无限扩展的 Web API 和小型服务,尤其是在 goroutine 的强大支持下。Rust 也可以用于小型服务,但是从开发2025-11-04尼康200.500镜头评测(探究尼康200.500镜头的特点和优势)
摘要:尼康200.500镜头作为一款广受好评的镜头,其拍摄效果备受期待。本文将从多个角度对尼康200.500镜头进行评测,以揭示其特点和优势。标题和1.尼康200.500镜头...2025-11-04
作者 | 悟空聊架构来源 | 悟空聊架构ID:PassJava666)滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。青山依旧在,几度夕阳红。-- 来自《三国演义》本篇将会通过三国中的赤壁之战来讲述周瑜2025-11-04

最新评论