国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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)動,實(shí)現(xiàn)翻頁滑動效果,TabList 實(shí)現(xiàn) page 頁 title 自定義顯示,PageSlider 通過加載不同的布局顯示對應(yīng)滑動列表。

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

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

滑動處理邏輯如下:

  • 首先在滑動監(jiān)聽接口中通過獲取觸摸點(diǎ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() 方法實(shí)現(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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7402

    瀏覽量

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

    關(guān)注

    183

    文章

    2642

    瀏覽量

    69857
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2153

    瀏覽量

    36060

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    如何在KaihongOS操作系統(tǒng)上寫一個彈窗組件

    彈窗。 創(chuàng)建自定義彈窗 使用@CustomDialog裝飾裝飾自定義彈窗。 @CustomDialog裝飾器用于裝飾自定義彈框,此
    發(fā)表于 04-30 06:44

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

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

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

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