作為鴻蒙應(yīng)用開發(fā)者,在使用ArkUI現(xiàn)有能力進(jìn)行彈窗開發(fā)時(shí),總會(huì)遇到一些讓人糾結(jié)的交互問題:應(yīng)用內(nèi)進(jìn)行消息提示時(shí),既要求消息內(nèi)容支持圖文混排,又要求彈窗本身不能打斷用戶交互(頁(yè)面滑動(dòng)、頁(yè)面點(diǎn)擊、鍵盤輸入等操作);彈窗本身與彈窗蒙層的動(dòng)畫需要進(jìn)行獨(dú)立設(shè)置;彈窗避讓鍵盤需要自定義避讓距離;氣泡提示的箭頭需要進(jìn)行自定義等。開發(fā)者需要開發(fā)很多額外的代碼去解決這些交互問題,但通過“DialogHub”彈窗三方庫(kù),只需要一兩個(gè)配置項(xiàng)就可以輕松解決上述問題。
“DialogHub”可高效地解決以下3點(diǎn)問題:1、上文提到的焦點(diǎn)、手勢(shì)、動(dòng)畫等交互問題;2、彈窗需要與UI進(jìn)行解耦。3、彈窗需要具備復(fù)用能力。接下來以具體示例說明:
“DialogHub”提供了多種配置選項(xiàng)解決彈窗的交互問題。例如,通過setConfig接口的passThroughGesture屬性解決手勢(shì)透?jìng)鲉栴};requestFocusWhenShow屬性解決焦點(diǎn)搶占問題;通過setAnimation接口的customMaskAnimation解決遮罩動(dòng)畫自定義的問題:
“DialogHub”支持UI解耦的彈窗能力。例如,在全局監(jiān)聽里創(chuàng)建彈窗(以氣泡彈窗為例),通過鏈?zhǔn)秸{(diào)用的方式綁定目標(biāo)組件并彈出:
“DialogHub”提供彈窗模板能力,便于開發(fā)者實(shí)現(xiàn)彈窗復(fù)用。以圖文混排的消息提示框?yàn)槔?/p>
步驟一:使用“DialogHub”的createToastTemplate、register接口創(chuàng)建一個(gè)符合UX定義的消息提示框模板:
步驟二:使用“DialogHub”的getToastTemplate接口獲取定義好的模板并彈出
在實(shí)際應(yīng)用中,“DialogHub”的能力也得到了開發(fā)者的高度認(rèn)可。據(jù)某頭部App開發(fā)者反饋:“DialogHub”對(duì)系統(tǒng)彈窗進(jìn)行了統(tǒng)一封裝,鏈?zhǔn)秸{(diào)用學(xué)習(xí)成本低,一行代碼就能完成彈窗屬性配置,代碼更加簡(jiǎn)潔清晰。
“DialogHub”的推出為開發(fā)者提供了一個(gè)開箱即用的彈窗管理解決方案,幫助開發(fā)者更高效地實(shí)現(xiàn)各種場(chǎng)景下的彈窗功能,顯著降低學(xué)習(xí)成本與開發(fā)成本。目前,“DialogHub”已開源至OpenHarmony三方庫(kù)中心倉(cāng)以及Gitee平臺(tái)。
開發(fā)者可訪問“OpenHarmony官網(wǎng)”,點(diǎn)擊“開發(fā)者”——>“三方庫(kù)中心倉(cāng)”——>搜索“DialogHub”;或登錄“Gitee官網(wǎng)”,首頁(yè)搜索“DialogHub”,快速下載集成,并參與代碼貢獻(xiàn)與問題反饋。共同提升鴻蒙應(yīng)用的性能與體驗(yàn)。
未來華為也將持續(xù)攜手生態(tài)伙伴共建創(chuàng)新,面向底座技術(shù)、通用能力、垂類行業(yè)等場(chǎng)景推出系列開發(fā)者場(chǎng)景化解決方案,不斷提升鴻蒙應(yīng)用的創(chuàng)新體驗(yàn)和開發(fā)效率,與廣大開發(fā)者共建繁榮的鴻蒙生態(tài)。
更多關(guān)于“DialogHub”的信息和使用指南,請(qǐng)?jiān)L問:HarmonyOS開發(fā)者官網(wǎng)
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )