日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙ListContainer粘性頭部裝飾器組件

OpenHarmony技術(shù)社區(qū) ? 來源:HarmonyOS技術(shù)社區(qū) ? 作者:開鴻HarmonyOS ? 2021-10-19 09:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這是一個 ListContainer 的粘性頭部裝飾器組件,主要用于展示列表+粘性頭部的滑動效果。

原理解析

UI 顯示部分如下圖所示,基礎(chǔ)布局采用 TabList+PageSlider 聯(lián)動,實現(xiàn)翻頁滑動效果,TabList 實現(xiàn) page 頁 title 自定義顯示,PageSlider 通過加載不同的布局顯示對應(yīng)滑動列表。

單個 page 頁面中采用 ListContainer+Text,header 頭部是使用懸停的 Text 控件來顯示的,根據(jù)需要顯示的頭部類型來加載 Text 控件數(shù)量。

這里需要注意:HarmonyOS SDK 6 及之前版本仍不支持 PageSlider 添加 Fraction,故采用 PageSlider 添加 ComponentContainer 方式實現(xiàn)相似效果。

滑動處理邏輯如下:

  • 首先在滑動監(jiān)聽接口中通過獲取觸摸點 Y 坐標(biāo)值 point.getY() 來判斷上下滑動方向。

  • 通過 Header 頭部類型判斷需要執(zhí)行的代碼邏輯,僅在需要更新 herader 頭部顯示時添加移動動畫效果。

不同 header 頭部類型滑動事件的處理思路是一樣的,單頭部 StickyHeader 邏輯如下:

  • 假設(shè) herader 頭部高度為 Y,列表單個 Item 高度為 Y,當(dāng)觸發(fā)列表向上滾動且當(dāng)前列表顯示在屏幕中的第二個 Item 是新的 Header 數(shù)據(jù)時,開始對 Text 控件執(zhí)行向上滑動的動畫效果。

  • 當(dāng)觸發(fā)列表向下滾動且當(dāng)前列表顯示在屏幕中的第一個 Item 是新的 Header 數(shù)據(jù)時,開始對 Text 控件執(zhí)行向下滑動的動畫效果。在滑動過程中,通過獲取指定 Item.getTop() 與 Header 頭部高度 Y 的差值。

  • 確定 Text 控件每次需要移動的 Y 軸坐標(biāo) moveY,該區(qū)間值 moveY 是 0 到 -Y 之間。最后通過調(diào)用 setContentPositionY() 方法實現(xiàn)控件滑動動畫。

使用說明

Java 調(diào)用示例:

使用1:
//獲取ListContainer
ListContainerlistContainer=(ListContainer)rootView.findComponentById(ResourceTable.Id_list_double_inline);
//需要的數(shù)據(jù)
ListdataList=Utils.getDoubleInlineList();
listContainer.setItemProvider(newInlineDoubleHeaderTestAdapter(context,dataList));
//將TextListContainer列表與HeaderDecor進(jìn)行綁定
HeaderDecorheaderDecor=newHeaderDecor(listContainer,headerText,doubleText);
//headerDecor調(diào)用setDataList()方法即可
headerDecor.setDataList(dataList);

使用2:
Texttext=(Text)rootView.findComponentById(ResourceTable.Id_title_text);
//獲取ListContainer
ListContainerlistContainer=(ListContainer)rootView.findComponentById(ResourceTable.Id_list_sticky_inline);
//需要的數(shù)據(jù)
ListdataList=Utils.getStickyInlineList();
listContainer.setItemProvider(newInlineStickyTestAdapter(context,dataList));
//將TextListContainer列表與HeaderDecor進(jìn)行綁定
HeaderDecorheaderDecor=newHeaderDecor(listContainer,text);
//headerDecor調(diào)用setDataList()方法即可
headerDecor.setDataList(dataList);

該三方庫目前已經(jīng)在 gitee 上開源并且發(fā)布 lib 倉庫,可以在 moudle 級別下的 build.gradle 文件中添加依賴。

//添加maven倉庫
repositories{
maven{
url'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}

//添加依賴庫
dependencies{
implementation'com.gitee.chinasoft_ohos1.0.0'
}

源碼下載

以上就是 Header-Decor 的介紹,代碼已經(jīng)開源到header-decor,歡迎各位下載使用并提出寶貴意見!

https://gitee.com/chinasoft2_ohos/header-decor

責(zé)任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7443

    瀏覽量

    129644
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2642

    瀏覽量

    70142
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2157

    瀏覽量

    36321

原文標(biāo)題:鴻蒙粘性頭部裝飾器組件,已開源!

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    自定義卡片編輯組件

    。 選中組件后,右上方出現(xiàn)兩個圖標(biāo),分別對應(yīng)組件的刪除和復(fù)制功能。 在畫布拖拽組件后,會在結(jié)構(gòu)區(qū)域生成結(jié)構(gòu)信息樹,可以在結(jié)構(gòu)樹上任意拖拽改變畫布上的組件父子關(guān)系。 本文參考
    發(fā)表于 04-22 11:11

    請問verilog文件開頭部分的@00080000是什么意思?

    請問verilog文件開頭部分的@00080000是什么意思??
    發(fā)表于 11-06 08:10

    鴻蒙非侵入式彈窗新解法,企查查正式開源“QuickDialog”彈窗組件

    近日,企查查將其自研的鴻蒙彈窗組件庫“QuickDialog”開源,并上線至?OpenHarmony 三方庫中心倉。這是鴻蒙生態(tài)首個支持“彈窗堆棧暫存能力”的非侵入式彈窗解決方案,憑借其靈活、高效
    的頭像 發(fā)表于 07-31 10:40 ?865次閱讀
    <b class='flag-5'>鴻蒙</b>非侵入式彈窗新解法,企查查正式開源“QuickDialog”彈窗<b class='flag-5'>組件</b>庫

    蜻蜓FM開源“SmartXPlayer”音頻播放組件,打造鴻蒙多端音頻播放新引擎

    近日,由蜻蜓FM研發(fā)的音頻播放組件“SmartXPlayer”正式開源并上線 OpenHarmony 三方庫中心倉。作為一款專為鴻蒙多端場景打造的音頻播放引擎,SmartXPlayer基于鴻蒙系統(tǒng)
    的頭像 發(fā)表于 07-21 16:31 ?777次閱讀
    蜻蜓FM開源“SmartXPlayer”音頻播放<b class='flag-5'>組件</b>,打造<b class='flag-5'>鴻蒙</b>多端音頻播放新引擎

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù)

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財# 一、生命周期階段: 創(chuàng)建階段 build
    的頭像 發(fā)表于 07-11 18:24 ?1198次閱讀

    【HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實踐

    【HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實踐 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財# 一、
    的頭像 發(fā)表于 07-11 18:20 ?1158次閱讀
    【HarmonyOS 5】金融應(yīng)用開發(fā)<b class='flag-5'>鴻蒙</b><b class='flag-5'>組件</b>實踐

    飛書開源“RTV”富文本組件 重塑鴻蒙應(yīng)用富文本渲染體驗

    近日,飛書正式將其自研的富文本組件庫?RichTextVista(簡稱“RTV”)開源,并上線OpenHarmony?三方庫中心倉。該組件以領(lǐng)先的性能、流暢的渲染體驗與高度的開放性,為鴻蒙生態(tài)提供了
    的頭像 發(fā)表于 07-11 15:20 ?803次閱讀
    飛書開源“RTV”富文本<b class='flag-5'>組件</b> 重塑<b class='flag-5'>鴻蒙</b>應(yīng)用富文本渲染體驗

    鴻蒙5開發(fā)寶藏案例分享---Swiper組件性能優(yōu)化實戰(zhàn)

    組件實例,減少頻繁創(chuàng)建/銷毀。 @Reusable // 關(guān)鍵裝飾! @Component struct QuestionSwiperItem { aboutToReuse(params
    發(fā)表于 06-12 17:53

    鴻蒙5開發(fā)寶藏案例分享---瀑布流優(yōu)化實戰(zhàn)分享

    RecyclerView的緩存池) 方案2:組件復(fù)用(關(guān)鍵?。?@Reusable // ? 魔法裝飾 @Component struct ReusableComponent { build() { // 避免內(nèi)部創(chuàng)建
    發(fā)表于 06-12 17:41

    鴻蒙5開發(fā)寶藏案例分享---分析幀率問題

    對復(fù)雜對象深拷貝,導(dǎo)致組件創(chuàng)建耗時激增。 列表項未復(fù)用,每次滑動都重建組件。 優(yōu)化方案 : 組件復(fù)用 :用<span class=\"ne-text\"&
    發(fā)表于 06-12 17:07

    鴻蒙Next實現(xiàn)瀑布流布局

    設(shè)計思路 鴻蒙 Next 的瀑布流布局可以通過自定義組件結(jié)合 Column、Row 等容器組件實現(xiàn)。其核心思路是將數(shù)據(jù)分成若干列,每列獨立滾動展示,且根據(jù)數(shù)據(jù)項高度動態(tài)調(diào)整布局,以達(dá)到類似瀑布自然流動
    發(fā)表于 06-10 14:17

    HarmonyOS實戰(zhàn):組件化項目搭建

    前言 鴻蒙應(yīng)用開發(fā)已經(jīng)成為互聯(lián)網(wǎng)新的風(fēng)口,開發(fā)鴻蒙軟件已經(jīng)成為今年工作的核心目標(biāo)。在軟件開發(fā)過程中,對于復(fù)雜度較大,功能較多的軟件都會采用組件化項目架構(gòu),那么對于鴻蒙應(yīng)用開發(fā)是否也能實
    的頭像 發(fā)表于 06-09 14:58 ?815次閱讀
    HarmonyOS實戰(zhàn):<b class='flag-5'>組件</b>化項目搭建

    開源鴻蒙應(yīng)用技術(shù)組件共建計劃啟動

    近日,開源鴻蒙開發(fā)者大會2025(OHDC.2025,以下簡稱“大會”)在深圳成功舉辦。開源四年多來,開源鴻蒙代碼規(guī)模已達(dá) 1.3 億多行,代碼貢獻(xiàn)者達(dá) 8600 多位,超過 1100 款軟硬件產(chǎn)品
    的頭像 發(fā)表于 06-05 14:33 ?1164次閱讀

    Kuikly鴻蒙版正式開源 —— 揭秘卓越性能適配之旅

    經(jīng)過一系列的探索嘗試,我們?nèi)略O(shè)計了鴻蒙版的渲染層方案: 組件屬性的更新: 在渲染層維護(hù)一個渲染節(jié)點的數(shù)據(jù)抽象,渲染節(jié)點通過 ArkUI 的裝飾與 ArkUI
    發(fā)表于 06-04 16:46

    鴻蒙5開發(fā)寶藏案例分享---自由流轉(zhuǎn)的拖拽多屏聯(lián)動

    :官方文檔只講基礎(chǔ)ListContainer,但實際開發(fā)必加下拉刷新! // 1. 布局中添加RefreshContainer組件 RefreshContainer refreshContainer
    發(fā)表于 06-03 18:50
    德兴市| 永新县| 新宁县| 丽水市| 手游| 蒙阴县| 阿城市| 焦作市| 丰镇市| 静宁县| 禹城市| 襄樊市| 临沂市| 雷山县| 织金县| 崇礼县| 子洲县| 永善县| 萍乡市| 抚顺县| 鲜城| 东乌珠穆沁旗| 翁源县| 郴州市| 盐池县| 绥阳县| 万州区| 郎溪县| 长白| 永清县| 吴忠市| 金川县| 万年县| 东源县| 湘乡市| 祁门县| 左云县| 黄梅县| 凤山县| 色达县| 峡江县|