chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

原理解析

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

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

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

滑動(dòng)處理邏輯如下:

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

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

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

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

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

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

使用說(shuō)明

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);

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

//添加maven倉(cāng)庫(kù)
repositories{
maven{
url'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}

//添加依賴庫(kù)
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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7262

    瀏覽量

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

    關(guān)注

    183

    文章

    2642

    瀏覽量

    69013
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2141

    瀏覽量

    35024

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    :官方文檔只講基礎(chǔ)ListContainer,但實(shí)際開發(fā)必加下拉刷新! // 1. 布局中添加RefreshContainer組件 RefreshContainer refreshContainer
    發(fā)表于 06-03 18:50

    2025鴻蒙座艙生態(tài)伙伴大會(huì)成功舉辦

    近日,以“鴻蒙聚·贏未來(lái)”為主題的2025鴻蒙座艙生態(tài)伙伴大會(huì)在上海成功舉辦。本次會(huì)議匯聚60多家頭部智能座艙軟硬件合作伙伴以及多家合作車企,共同探討了鴻蒙座艙用戶體驗(yàn)和未來(lái)生態(tài)發(fā)展等
    的頭像 發(fā)表于 04-28 10:32 ?806次閱讀

    開源啦?。?!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來(lái)一起共創(chuàng)

    Hello;大家好,我是陳楊。好久沒更新了,首先是自己本職工作比較忙,基本沒時(shí)間寫作。其次就是學(xué)習(xí)技術(shù),自學(xué)鴻蒙ArkTS語(yǔ)言已經(jīng)接近半年了,也算半路出師了,這次將分享我封裝的組件庫(kù),所以有啥講錯(cuò)
    發(fā)表于 03-15 15:21

    Get這個(gè)秘籍,鴻蒙原生應(yīng)用頁(yè)面滑動(dòng)絲滑無(wú)比

    鴻蒙應(yīng)用開發(fā)中,部分應(yīng)用頁(yè)面在滑動(dòng)時(shí)會(huì)出現(xiàn)白塊或白屏的問題,不僅困擾開發(fā)者,還直接影響用戶體驗(yàn)。針對(duì)這一痛點(diǎn),華為近期分別推出了針對(duì)鴻蒙原生應(yīng)用ArkUI頁(yè)面及Web頁(yè)面的滑動(dòng)白塊與白屏
    發(fā)表于 03-06 14:41

    鴻蒙原生頁(yè)面高性能解決方案上線OpenHarmony社區(qū) 助力打造高性能原生應(yīng)用

    全局自定義組件復(fù)用,讓原生容器組件組件復(fù)用子組件,降低了頁(yè)面丟幀率和白屏?xí)r間。這一方案已在多個(gè)頭部鴻蒙
    發(fā)表于 01-02 18:00

    開源項(xiàng)目!打造一款FPV頭部追蹤相機(jī),讓你仿佛置身遙控車之中!

    清楚地概述了每個(gè)組件如何連接以確保其正常工作。精確遵循圖表有助于防止可能出現(xiàn)的問題,確保平移和傾斜機(jī)構(gòu)與您的頭部運(yùn)動(dòng)同步平穩(wěn)運(yùn)行。 接線圖是 Arduino 頭部跟蹤發(fā)射
    發(fā)表于 12-13 14:46

    浩辰CAD原生鴻蒙版公測(cè) 多端互動(dòng)協(xié)同設(shè)計(jì)

    浩辰CAD原生鴻蒙版公測(cè)10月22日,華為重磅發(fā)布HarmonyOSNEXT,浩辰CAD看圖王應(yīng)邀加入HarmonyOSNEXT生態(tài)適配的頭部應(yīng)用也正式亮相,這標(biāo)志著浩辰軟件在跨平臺(tái)應(yīng)用領(lǐng)域的又一
    的頭像 發(fā)表于 11-01 15:27 ?1607次閱讀
    浩辰CAD原生<b class='flag-5'>鴻蒙</b>版公測(cè) 多端互動(dòng)協(xié)同設(shè)計(jì)