DialogHub上線(xiàn)OpenHarmony開(kāi)源社區,高效開(kāi)發(fā)鴻蒙應用彈窗
作為鴻蒙應用開(kāi)發(fā)者,在使用ArkUI現有能力進(jìn)行彈窗開(kāi)發(fā)時(shí),總會(huì )遇到一些讓人糾結的交互問(wèn)題:應用內進(jìn)行消息提示時(shí),既要求消息內容支持圖文混排,又要求彈窗本身不能打斷用戶(hù)交互(頁(yè)面滑動(dòng)、頁(yè)面點(diǎn)擊、鍵盤(pán)輸入等操作);彈窗本身與彈窗蒙層的動(dòng)畫(huà)需要進(jìn)行獨立設置;彈窗避讓鍵盤(pán)需要自定義避讓距離;氣泡提示的箭頭需要進(jìn)行自定義等。開(kāi)發(fā)者需要開(kāi)發(fā)很多額外的代碼去解決這些交互問(wèn)題,但通過(guò)“DialogHub”彈窗三方庫,只需要一兩個(gè)配置項就可以輕松解決上述問(wèn)題。
本文引用地址:http://dyxdggzs.com/article/202504/468965.htm“DialogHub”可高效地解決以下3點(diǎn)問(wèn)題:1、上文提到的焦點(diǎn)、手勢、動(dòng)畫(huà)等交互問(wèn)題;2、彈窗需要與UI進(jìn)行解耦。3、彈窗需要具備復用能力。接下來(lái)以具體示例說(shuō)明:
“DialogHub”提供了多種配置選項解決彈窗的交互問(wèn)題。例如,通過(guò)setConfig接口的passThroughGesture屬性解決手勢透傳問(wèn)題;requestFocusWhenShow屬性解決焦點(diǎn)搶占問(wèn)題;通過(guò)setAnimation接口的customMaskAnimation解決遮罩動(dòng)畫(huà)自定義的問(wèn)題:
“DialogHub”支持UI解耦的彈窗能力。例如,在全局監聽(tīng)里創(chuàng )建彈窗(以氣泡彈窗為例),通過(guò)鏈式調用的方式綁定目標組件并彈出:
“DialogHub”提供彈窗模板能力,便于開(kāi)發(fā)者實(shí)現彈窗復用。以圖文混排的消息提示框為例:
步驟一:使用“DialogHub”的createToastTemplate、register接口創(chuàng )建一個(gè)符合UX定義的消息提示框模板:
步驟二:使用“DialogHub”的getToastTemplate接口獲取定義好的模板并彈出
在實(shí)際應用中,“DialogHub”的能力也得到了開(kāi)發(fā)者的高度認可。據某頭部App開(kāi)發(fā)者反饋:“DialogHub”對系統彈窗進(jìn)行了統一封裝,鏈式調用學(xué)習成本低,一行代碼就能完成彈窗屬性配置,代碼更加簡(jiǎn)潔清晰。
“DialogHub”的推出為開(kāi)發(fā)者提供了一個(gè)開(kāi)箱即用的彈窗管理解決方案,幫助開(kāi)發(fā)者更高效地實(shí)現各種場(chǎng)景下的彈窗功能,顯著(zhù)降低學(xué)習成本與開(kāi)發(fā)成本。目前,“DialogHub”已開(kāi)源至OpenHarmony三方庫中心倉以及Gitee平臺。
開(kāi)發(fā)者可訪(fǎng)問(wèn)“OpenHarmony官網(wǎng)”,點(diǎn)擊“開(kāi)發(fā)者”——>“三方庫中心倉”——>搜索“DialogHub”;或登錄“Gitee官網(wǎng)”,首頁(yè)搜索“DialogHub”,快速下載集成,并參與代碼貢獻與問(wèn)題反饋。共同提升鴻蒙應用的性能與體驗。
未來(lái)華為也將持續攜手生態(tài)伙伴共建創(chuàng )新,面向底座技術(shù)、通用能力、垂類(lèi)行業(yè)等場(chǎng)景推出系列開(kāi)發(fā)者場(chǎng)景化解決方案,不斷提升鴻蒙應用的創(chuàng )新體驗和開(kāi)發(fā)效率,與廣大開(kāi)發(fā)者共建繁榮的鴻蒙生態(tài)。
更多關(guān)于“DialogHub”的信息和使用指南,請訪(fǎng)問(wèn):HarmonyOS開(kāi)發(fā)者官網(wǎng)
評論