自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HarmonyOS學(xué)習(xí)路之開(kāi)發(fā)篇—Java UI框架

開(kāi)發(fā) 后端 OpenHarmony
上兩篇文章已經(jīng)介紹了大部分的Java UI組件 ,因?yàn)闀r(shí)間關(guān)系把一個(gè)內(nèi)容分為了三個(gè)部分,這是最后一篇組件的介紹。分別介紹ListContainer、ScrollView和WebView。

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

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

接上一篇文章…

上兩篇文章已經(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在介紹嵌套開(kāi)發(fā)時(shí)使用到了其中的一些屬性,但是沒(méi)有具體的介紹說(shuō)明。

ListContainer的共有XML屬性繼承自:Component,其基礎(chǔ)屬性就不再過(guò)多的贅述。ListContainer的自有XML屬性見(jiàn)下表:

使用ListContainer時(shí),需要編寫(xiě)適配器來(lái)構(gòu)造不同的數(shù)據(jù)結(jié)構(gòu),在編寫(xiě)適配器時(shí)需要注意:要繼承自BaseItemProvider并重寫(xiě)以下方法。

⑫ScrollView

ScrollView是一種帶滾動(dòng)功能的組件,它采用滑動(dòng)的方式在有限的區(qū)域內(nèi)顯示更多的內(nèi)容。

ScrollView的共有XML屬性繼承自:StackLayout,ScrollView的自有XML屬性見(jiàn)下表:

ScrollView的速度、滾動(dòng)、回彈等常用接口如下:

⑬WebView

WebView提供在應(yīng)用中集成Web頁(yè)面的能力。

在使用WebView時(shí)需要配置應(yīng)用的網(wǎng)絡(luò)權(quán)限。打開(kāi)“entry > src > main > config.json”,并添加如下配置。

  1.   ... 
  2.   "module": { 
  3.     ... 
  4.     "reqPermissions": [ 
  5.       { 
  6.         "name""ohos.permission.INTERNET" 
  7.       } 
  8.     ], 
  9.     ... 
  10.   } 

 與Android中的Webview有著一樣的功能,顯示相應(yīng)的網(wǎng)頁(yè)數(shù)據(jù),并且可以與JavaScript代碼相互調(diào)用。

通過(guò)WebConfig啟用JavaScript

  1. webView.getWebConfig().setJavaScriptPermit(true); 

 使用回調(diào)方法或者應(yīng)用內(nèi)部調(diào)用JavaScript方法。

注入回調(diào)對(duì)象到頁(yè)面內(nèi)容

  1. final String jsName = "JsCallbackToApp"
  2. webView.addJsCallback(jsName, new JsCallback() { 
  3.     @Override 
  4.     public String onCallback(String msg) { 
  5.         // 增加自定義處理 
  6.         return "jsResult"
  7.     } 
  8. }); 
  9. //--------------------------------------------- 
  10. function callToApp() { 
  11.     if (window.JsCallbackToApp && window.JsCallbackToApp.call) { 
  12.        var result = JsCallbackToApp.call("message from web"); 
  13.     } 

 在應(yīng)用內(nèi)調(diào)用頁(yè)面內(nèi)的JavaScript方法。

  1. webView.executeJs("javascript:callFuncInWeb()", new AsyncCallback<String>() { 
  2.     @Override 
  3.     public void onReceive(String msg) { 
  4.         // 在此確認(rèn)返回結(jié)果 
  5.     } 
  6. }); 

 觀測(cè)Web狀態(tài)

通過(guò)setWebAgent方法設(shè)置自定義WebAgent對(duì)象,以觀測(cè)頁(yè)面狀態(tài)變更等事件:

  1. webView.setWebAgent(new WebAgent() { 
  2.     @Override 
  3.     public void onLoadingPage(WebView webview, String url, PixelMap favicon) { 
  4.         super.onLoadingPage(webview, url, favicon); 
  5.         // 頁(yè)面開(kāi)始加載時(shí)自定義處理 
  6.     } 
  7.  
  8.     @Override 
  9.     public void onPageLoaded(WebView webview, String url) { 
  10.         super.onPageLoaded(webview, url); 
  11.         // 頁(yè)面加載結(jié)束后自定義處理 
  12.     } 
  13.  
  14.     @Override 
  15.     public void onLoadingContent(WebView webview, String url) { 
  16.         super.onLoadingContent(webview, url); 
  17.         // 加載資源時(shí)自定義處理 
  18.     } 
  19.  
  20.     @Override 
  21.     public void onError(WebView webview, ResourceRequest request, ResourceError error) { 
  22.         super.onError(webview, request, error); 
  23.         // 發(fā)生錯(cuò)誤時(shí)自定義處理 
  24.     } 
  25. }); 

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

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2014-06-05 14:12:05

SwiftUI學(xué)習(xí)iOS

2010-09-25 13:09:39

UISymbian

2011-04-14 10:05:16

BlackBerry

2011-04-14 10:03:32

UI組件BlackBerry

2021-01-25 09:58:01

鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā)

2020-11-17 11:48:44

HarmonyOS

2019-06-26 05:29:44

深度學(xué)習(xí)KerasPyTorch

2020-11-25 12:02:02

TableLayout

2013-07-24 18:14:36

Android開(kāi)發(fā)學(xué)習(xí)Android UIButton

2023-01-04 15:24:46

ACE組件UI布局

2019-10-18 16:05:32

框架開(kāi)發(fā)Java

2021-08-10 09:31:54

鴻蒙HarmonyOS應(yīng)用

2020-08-03 09:20:53

語(yǔ)言開(kāi)發(fā)Java

2020-08-12 13:18:49

Java編程語(yǔ)言

2021-06-29 14:48:58

鴻蒙HarmonyOS應(yīng)用

2020-12-18 10:42:14

鴻蒙開(kāi)發(fā)應(yīng)用

2013-07-24 18:02:40

Android開(kāi)發(fā)學(xué)習(xí)Android UIRadio、Check

2009-12-09 10:48:50

ibmdwLotus

2021-01-22 05:51:56

Java前端數(shù)據(jù)

2016-03-23 11:05:58

Socket開(kāi)發(fā)框架分析
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)