新聞中心
想了解更多內(nèi)容,請(qǐng)?jiān)L問:

成都創(chuàng)新互聯(lián)專注于扎魯特旗網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供扎魯特旗營(yíng)銷型網(wǎng)站建設(shè),扎魯特旗網(wǎng)站制作、扎魯特旗網(wǎng)頁(yè)設(shè)計(jì)、扎魯特旗網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造扎魯特旗網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供扎魯特旗網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.
接上一篇文章…
上兩篇文章已經(jīng)介紹了大部分的Java UI組件 ,因?yàn)闀r(shí)間關(guān)系把一個(gè)內(nèi)容分為了三個(gè)部分,這是最后一篇組件的介紹。分別介紹ListContainer、ScrollView和WebView。
二、分類說(shuō)明
?ListContainer
ListContainer是用來(lái)呈現(xiàn)連續(xù)、多行數(shù)據(jù)的組件,包含一系列相同類型的列表項(xiàng)。
ListContainer和ScrollView在介紹嵌套開發(fā)時(shí)使用到了其中的一些屬性,但是沒有具體的介紹說(shuō)明。
ListContainer的共有XML屬性繼承自:Component,其基礎(chǔ)屬性就不再過多的贅述。ListContainer的自有XML屬性見下表:
使用ListContainer時(shí),需要編寫適配器來(lái)構(gòu)造不同的數(shù)據(jù)結(jié)構(gòu),在編寫適配器時(shí)需要注意:要繼承自BaseItemProvider并重寫以下方法。
?ScrollView
ScrollView是一種帶滾動(dòng)功能的組件,它采用滑動(dòng)的方式在有限的區(qū)域內(nèi)顯示更多的內(nèi)容。
ScrollView的共有XML屬性繼承自:StackLayout,ScrollView的自有XML屬性見下表:
ScrollView的速度、滾動(dòng)、回彈等常用接口如下:
?WebView
WebView提供在應(yīng)用中集成Web頁(yè)面的能力。
在使用WebView時(shí)需要配置應(yīng)用的網(wǎng)絡(luò)權(quán)限。打開“entry > src > main > config.json”,并添加如下配置。
- {
- ...
- "module": {
- ...
- "reqPermissions": [
- {
- "name": "ohos.permission.INTERNET"
- }
- ],
- ...
- }
- }
與Android中的Webview有著一樣的功能,顯示相應(yīng)的網(wǎng)頁(yè)數(shù)據(jù),并且可以與JavaScript代碼相互調(diào)用。
通過WebConfig啟用JavaScript
- webView.getWebConfig().setJavaScriptPermit(true);
使用回調(diào)方法或者應(yīng)用內(nèi)部調(diào)用JavaScript方法。
注入回調(diào)對(duì)象到頁(yè)面內(nèi)容
- 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");
- }
- }
在應(yīng)用內(nèi)調(diào)用頁(yè)面內(nèi)的JavaScript方法。
- webView.executeJs("javascript:callFuncInWeb()", new AsyncCallback
() { - @Override
- public void onReceive(String msg) {
- // 在此確認(rèn)返回結(jié)果
- }
- });
觀測(cè)Web狀態(tài)
通過setWebAgent方法設(shè)置自定義WebAgent對(duì)象,以觀測(cè)頁(yè)面狀態(tài)變更等事件:
- webView.setWebAgent(new WebAgent() {
- @Override
- public void onLoadingPage(WebView webview, String url, PixelMap favicon) {
- super.onLoadingPage(webview, url, favicon);
- // 頁(yè)面開始加載時(shí)自定義處理
- }
- @Override
- public void onPageLoaded(WebView webview, String url) {
- super.onPageLoaded(webview, url);
- // 頁(yè)面加載結(jié)束后自定義處理
- }
- @Override
- public void onLoadingContent(WebView webview, String url) {
- super.onLoadingContent(webview, url);
- // 加載資源時(shí)自定義處理
- }
- @Override
- public void onError(WebView webview, ResourceRequest request, ResourceError error) {
- super.onError(webview, request, error);
- // 發(fā)生錯(cuò)誤時(shí)自定義處理
- }
- });
想了解更多內(nèi)容,請(qǐng)?jiān)L問:
和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.
新聞標(biāo)題:HarmonyOS學(xué)習(xí)路之開發(fā)篇—JavaUI框架
本文鏈接:http://www.dlmjj.cn/article/cohijgc.html


咨詢
建站咨詢
