在做 UI 設(shè)計(jì)時(shí),我們經(jīng)常會碰到這樣一個(gè)需求:要在某個(gè)圖標(biāo)、按鈕或列表項(xiàng)的角落加一個(gè)小小的提示,比如紅點(diǎn)、新消息數(shù)量、狀態(tài)標(biāo)簽之類的。這時(shí)候就輪到 Badge 組件登場了。...
在做 UI 設(shè)計(jì)時(shí),我們經(jīng)常會碰到這樣一個(gè)需求:要在某個(gè)圖標(biāo)、按鈕或列表項(xiàng)的角落加一個(gè)小小的提示,比如紅點(diǎn)、新消息數(shù)量、狀態(tài)標(biāo)簽之類的。這時(shí)候就輪到 Badge 組件登場了。...
在日常開發(fā)中,如果你有類似「左側(cè)導(dǎo)航 + 右側(cè)內(nèi)容」的布局需求,比如后臺管理界面、文件管理器、設(shè)置頁等,SideBarContainer 是非常值得掌握的組件。它自帶側(cè)邊欄和...
在日常的 ArkTS 應(yīng)用開發(fā)工作里,我常常要處理各種復(fù)雜的界面布局需求。尤其是在需要將多個(gè)子組件進(jìn)行橫向排列,并且希望用戶能夠靈活調(diào)整子組件寬度的場景下,傳統(tǒng)的布局方式顯得...
在日常的 ArkTS 應(yīng)用開發(fā)工作中,我常常面臨著為組件設(shè)置不同狀態(tài)樣式的需求。用戶與界面進(jìn)行交互時(shí),如點(diǎn)擊、按下、選中、禁用等操作,都希望組件能呈現(xiàn)出相應(yīng)的視覺反饋,以提升...
在日常的鴻蒙應(yīng)用開發(fā)工作中,我常常會遇到需要繪制各種圖形和路徑的場景。無論是簡單的直線、折線,還是復(fù)雜的曲線、橢圓弧,傳統(tǒng)的布局方式很難滿足多樣化的圖形繪制需求。直到我接觸到...
在日常的鴻蒙應(yīng)用開發(fā)工作里,我時(shí)常面臨布局設(shè)計(jì)的挑戰(zhàn)。不同設(shè)備的分辨率、寬高比千差萬別,若采用傳統(tǒng)的固定布局,在某些設(shè)備上可能出現(xiàn)組件擠壓、留白過多甚至顯示錯(cuò)亂的尷尬局面。而...
在日常的鴻蒙應(yīng)用開發(fā)工作中,我常常遇到需要為應(yīng)用添加靈動(dòng)、流暢動(dòng)畫效果的場景,從一個(gè)按鈕的簡單位移,到復(fù)雜組件的漸變展示,動(dòng)畫已然成為提升用戶體驗(yàn)不可或缺的部分。然而,初涉鴻...
在最近的項(xiàng)目開發(fā)工作中,我頻繁需要為界面元素添加過渡動(dòng)畫效果,以提升用戶體驗(yàn)。在這個(gè)過程中,我接觸到了 ArkTS 提供的 animateTo 全局顯式動(dòng)畫接口。它為由于閉包...
在 HarmonyOS 開發(fā)中,組件性能優(yōu)化是永恒的主題。筆者在開發(fā)音樂播放器時(shí),發(fā)現(xiàn)列表滑動(dòng)時(shí)幀率波動(dòng)明顯。通過分析渲染日志,發(fā)現(xiàn)大量組件重復(fù)創(chuàng)建銷毀導(dǎo)致資源浪費(fèi)。深入研究...
作為一名專注于移動(dòng)應(yīng)用開發(fā)的工程師,我在近期的娛樂類 APP 項(xiàng)目中遇到了人臉相似度比對的需求。傳統(tǒng)方案需要集成多個(gè) SDK(檢測 + 比對 + 活體),而 HarmonyO...
在 HarmonyOS 應(yīng)用開發(fā)工作中,我頻繁碰到組件初始化傳參校驗(yàn)的難題。在復(fù)雜的組件嵌套里,要是無法確保必要參數(shù)在構(gòu)造時(shí)準(zhǔn)確傳入,就極易引發(fā)運(yùn)行時(shí)錯(cuò)誤,而且排查起來費(fèi)時(shí)費(fèi)...
在最近的項(xiàng)目開發(fā)中,我遇到了需要實(shí)現(xiàn)復(fù)雜動(dòng)畫效果的需求。在探索解決方案的過程中,我發(fā)現(xiàn)了 @AnimatableExtend 裝飾器,它為實(shí)現(xiàn)動(dòng)畫效果提供了一種非常靈活且強(qiáng)大...
在ArkUI框架中,組件化開發(fā)是提升代碼復(fù)用性和維護(hù)性的關(guān)鍵手段。隨著項(xiàng)目復(fù)雜度的增加,開發(fā)者常常面臨如何在保持組件封裝性的同時(shí),靈活處理組件內(nèi)部邏輯的問題。傳統(tǒng)的@Buil...
引言:為什么我要寫這份開發(fā)指南? 作為一名老技術(shù),最近特別喜歡研究鴻蒙相機(jī)功能,而且目前已經(jīng)更新到API15了,那么咱們更要好好研究一下。而且從手持云臺到車載記錄儀,每個(gè)項(xiàng)目...
最近我在研究 HarmonyOS 音頻開發(fā)。在音視頻領(lǐng)域,鴻蒙的 AudioKit 框架提供了 AVPlayer 和 AudioRenderer 兩種方案。AVPlayer ...
引言:為何選擇ArkTS? 在HarmonyOS生態(tài)快速發(fā)展的當(dāng)下,ArkTS作為新一代聲明式UI開發(fā)框架,正在引發(fā)移動(dòng)應(yīng)用開發(fā)范式的變革。筆者曾在多個(gè)跨平臺框架開發(fā)中經(jīng)歷過...
JavaScript提供了多種方式來直接觸發(fā)事件,無論是在用戶交互、程序邏輯處理或是數(shù)據(jù)更新時(shí)。本文將全面探討原生JavaScript中各種事件觸發(fā)方式,并通過深入的技術(shù)案例...
ECMAScript 2024 帶來了一些不錯(cuò)的新特性,其中 Promise.withResolvers 是一個(gè)備受關(guān)注的新增方法。這一方法極大地簡化了開發(fā)者在手動(dòng)創(chuàng)建 Pr...
ECMAScript 2024 (ES15) 引入了一個(gè)極具潛力的新特性:Map.groupBy(),它大大簡化了數(shù)據(jù)分組的操作。無論是在處理數(shù)組、對象,還是更復(fù)雜的業(yè)務(wù)邏輯...
JavaScript 中函數(shù)調(diào)用有許多獨(dú)特的變體方式,例如 ~function、-function 等。這些變體不僅展現(xiàn)了 JavaScript 語言的靈活性,也可以在某些場...