91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

原理解析

UI 顯示部分如下圖所示,基礎布局采用 TabList+PageSlider 聯動,實現翻頁滑動效果,TabList 實現 page 頁 title 自定義顯示,PageSlider 通過加載不同的布局顯示對應滑動列表。

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

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

滑動處理邏輯如下:

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

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

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

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

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

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

使用說明

Java 調用示例:

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

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

該三方庫目前已經在 gitee 上開源并且發布 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 的介紹,代碼已經開源到header-decor,歡迎各位下載使用并提出寶貴意見!

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

責任編輯:haq
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 操作系統
    +關注

    關注

    37

    文章

    7152

    瀏覽量

    125590
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2642

    瀏覽量

    68102
  • HarmonyOS
    +關注

    關注

    80

    文章

    2126

    瀏覽量

    33063

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

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    【HarmonyOS 5】金融應用開發鴻蒙組件實踐

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

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

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

    鴻蒙5開發寶藏案例分享---Swiper組件性能優化實戰

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

    鴻蒙5開發寶藏案例分享---瀑布流優化實戰分享

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

    HarmonyOS實戰:組件化項目搭建

    前言 鴻蒙應用開發已經成為互聯網新的風口,開發鴻蒙軟件已經成為今年工作的核心目標。在軟件開發過程中,對于復雜度較大,功能較多的軟件都會采用組件化項目架構,那么對于鴻蒙應用開發是否也能實
    的頭像 發表于 06-09 14:58 ?217次閱讀
    HarmonyOS實戰:<b class='flag-5'>組件</b>化項目搭建

    鴻蒙5開發寶藏案例分享---自由流轉的拖拽多屏聯動

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

    2025鴻蒙座艙生態伙伴大會成功舉辦

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

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

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

    Get這個秘籍,鴻蒙原生應用頁面滑動絲滑無比

    鴻蒙應用開發中,部分應用頁面在滑動時會出現白塊或白屏的問題,不僅困擾開發者,還直接影響用戶體驗。針對這一痛點,華為近期分別推出了針對鴻蒙原生應用ArkUI頁面及Web頁面的滑動白塊與白屏
    發表于 03-06 14:41

    鴻蒙原生頁面高性能解決方案上線OpenHarmony社區 助力打造高性能原生應用

    全局自定義組件復用,讓原生容器組件組件復用子組件,降低了頁面丟幀率和白屏時間。這一方案已在多個頭部鴻蒙
    發表于 01-02 18:00

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

    清楚地概述了每個組件如何連接以確保其正常工作。精確遵循圖表有助于防止可能出現的問題,確保平移和傾斜機構與您的頭部運動同步平穩運行。 接線圖是 Arduino 頭部跟蹤發射
    發表于 12-13 14:46

    浩辰CAD原生鴻蒙版公測 多端互動協同設計

    浩辰CAD原生鴻蒙版公測10月22日,華為重磅發布HarmonyOSNEXT,浩辰CAD看圖王應邀加入HarmonyOSNEXT生態適配的頭部應用也正式亮相,這標志著浩辰軟件在跨平臺應用領域的又一
    的頭像 發表于 11-01 15:27 ?1348次閱讀
    浩辰CAD原生<b class='flag-5'>鴻蒙</b>版公測 多端互動協同設計

    【每天學點AI】一個例子帶你了解Python裝飾到底在干嘛!

    今天我們來聊聊一種能給你的代碼變得“加料”的神器——Python裝飾。就像一杯咖啡,原本它是苦的,為了讓它符合我的口味,我給它添加了糖,添加之后就完美的符合了我的口味。那么,裝飾
    的頭像 發表于 09-20 16:54 ?795次閱讀
    【每天學點AI】一個例子帶你了解Python<b class='flag-5'>裝飾</b><b class='flag-5'>器</b>到底在干嘛!

    基于鴻蒙Next模擬掃圖識物的一個過程

    :’, JSON.stringify(err) ?? ‘’) }); }復制復制 六、代碼結構及原理:1.整體結構: 使用了ArkTS的裝飾語法,如@Entry和@Component。2.狀態管理: 組件
    發表于 08-21 15:04
    主站蜘蛛池模板: 性欧美丨18一19 | 狠狠干2021| 狠狠色狠狠色综合久久一 | 国内精品91久久久久 | 麻豆美女大尺度啪啪 | 视频一区视频二区在线观看 | 欧美一级日韩在线观看 | 久久综合操 | 手机看片福利盒子久久 | 亚洲免费视频一区 | 色窝网| 天天cao在线| 伊人网99 | 成年人的毛片 | 亚洲五月综合缴情婷婷 | 免费看黄在线 | 欧美一区中文字幕 | 99伊人| 欧美亚洲视频一区 | 激情四月婷婷 | 国产精品久久久久久一级毛片 | 人人干日日操 | 色妞导航| 日本丰满毛茸茸熟妇 | h视频免费看| 能看的黄色网址 | 在线色站| www.操你啦| 欧美日韩一区二区三区毛片 | 久久影院午夜伦手机不四虎卡 | 国产一区二区三区免费大片天美 | 欧美影院一区二区三区 | 人人看人人鲁狠狠高清 | 国产成人精品免费视频大全可播放的 | 哪里可以看免费毛片 | 手机免费在线视频 | 业余性自由色xxxx视频 | 天堂网最新版www | 在线黄色.com | 亚洲成人在线播放 | 成人在线a |