日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
開(kāi)發(fā)文檔代碼示例工程Dialog的完全解析

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

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

https://harmonyos.

本文引言

學(xué)習(xí)編程,就應(yīng)該用代碼筑基,拿項(xiàng)目蓋樓!最近學(xué)習(xí)《鴻蒙操作系統(tǒng)開(kāi)發(fā)入門(mén)經(jīng)典》,邊寫(xiě)邊敲示例代碼,提升明顯。但總覺(jué)得例子化的代碼還是差了點(diǎn)東西,遂根據(jù)官方提供的代碼示例工程進(jìn)行學(xué)習(xí)和解析,和盡力二創(chuàng)。

開(kāi)發(fā)文檔-代碼示例工程

一、概述

ToastDialog是在窗口上方彈出的對(duì)話框,是通知操作的簡(jiǎn)單反饋。ToastDialog會(huì)在一段時(shí)間后消失,在此期間,用戶(hù)還可以操作當(dāng)前窗口的其他組件。

而基于CommonDialog我們們可以封裝更多的彈框。

幫大家翻譯一下:

二、工程演示

吐槽!原示例工程的按鈕和字體巨小!!!!眼睛都無(wú)了!我把字調(diào)大了。

進(jìn)入HAP

顯而易見(jiàn)有四個(gè)按鈕,即有四種反饋!

  • common dialog:一般的信息反饋對(duì)話框
  • list dialog:列表對(duì)話框
  • multiselect dialog:對(duì)選對(duì)話框
  • custom dialog:自定義對(duì)話框

  • common dialog

  • list dialog

  • multiselect dialog

  • custom dialog

三、工程項(xiàng)目解析

框架解析

四、Layout布局解析

main_ability_slice

  • 主頁(yè)面
  • 布局:DirectionalLayout-方向布局(vertical豎直排列)
  • 組件與頁(yè)面對(duì)應(yīng):

custom_dialog_content

  • 自定義頁(yè)面
  • 布局:最外層DirectionalLayout方向布局—Text組件—內(nèi)層包含六個(gè)TextField組件的DirectionalLayout—Button組件
  • 注解:

  • 組件與頁(yè)面對(duì)應(yīng):

五、graphic文件解析

此文件下的都是以xml形式(svg會(huì)被編譯器轉(zhuǎn)為xml)的背景設(shè)置。在layout文件下的xml進(jìn)行背景設(shè)置,如下:

為演示方便。把所有集合到一個(gè)xml進(jìn)行注解。

六、MainAbility解析

關(guān)鍵點(diǎn):

  • 回調(diào)函數(shù)onStart。讀者如果對(duì)生命周期函數(shù)不是很懂建議點(diǎn)擊鏈接讀下文:

開(kāi)發(fā)文檔——Page Ability生命周期

  • setMainRoute配置默認(rèn)展示的AbilitySlice

七、utils下的LogUtil解析

此文件是基于HiLog日志模塊的打印日志文件。

具體如何打印和如何注意事項(xiàng)不歸屬本文重點(diǎn),可以參照下文

開(kāi)發(fā)文檔—HiLog

八、MainAbilitySlice解析

聲明

關(guān)于設(shè)置頁(yè)面的不贅述直接進(jìn)入自定義函數(shù)initComponents()的解析:

關(guān)于幾個(gè)show的解析

  • 基本都是字面意思
  • 關(guān)鍵在于幾個(gè)關(guān)鍵功能的實(shí)現(xiàn)如單選、多選需要大家多熟悉

自定義彈框

九、custom文件的解析

難點(diǎn)在于TextField的應(yīng)用,而不是CustomDialog了哈哈哈。

 
 
 
 
  1. //通過(guò)addTextObserver實(shí)現(xiàn)從start到count輸入框的跳轉(zhuǎn) 
  2. private void setObserver(TextField textField, Component textFieldNext) { 
  3.     textField.addTextObserver((string, start, before, count) -> matchNumber(string, textField, textFieldNext)); 
  4.  
  5. private void matchNumber(String string, TextField textField, Component textFieldNext) { 
  6.     boolean isMatch = Pattern.matches(PATTERN, string); 
  7.     if (isMatch) { 
  8.         textField.setText(string); 
  9.     } 
  10.     if (textFieldNext != null) { 
  11.         textFieldNext.requestFocus(); 
  12.     } 

本文總結(jié)

  • 每日一更!不能斷更!!!!哈哈哈哈保持學(xué)習(xí)。
  • 對(duì)于代碼示例工程提一點(diǎn)建議:布局中的text的值并沒(méi)有用element中的string.json存儲(chǔ)。致使代碼不規(guī)范
  • 代碼已經(jīng)格式化放心食用
  • 對(duì)于ListDialog、CommonDialog、自定義彈窗有了一個(gè)基本演示和解析,但其完整API如下;

其中DisplayDialog很有意思:

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

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

https://harmonyos.


網(wǎng)站名稱(chēng):開(kāi)發(fā)文檔代碼示例工程Dialog的完全解析
地址分享:http://m.5511xx.com/article/dhcegjh.html