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

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

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

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

鴻蒙 TabList 配合 Fraction 實現(xiàn)頂部切換效果演示

OpenHarmony技術(shù)社區(qū) ? 來源:HarmonyOS技術(shù)社區(qū) ? 作者:HarmonyOS技術(shù)社區(qū) ? 2022-01-04 14:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天我想著配合鴻蒙里面提供的頂部切換控件 tablist,來實現(xiàn)頂部 tab 切換,然后下面多個 fraction 的效果。廢話不多說,我們正式開始。

效果圖如下:

具體實現(xiàn)

定 tablist 布局:









我們在縱向線性布局上面寫了一個 tablist 然后下面寫了一個 StackLayout 來裝載我們的多個 fraction。

java 代碼邏輯,頂部標(biāo)簽數(shù)據(jù):

privateString[]str={"關(guān)注","推薦","熱點","問答"};

初始化 tab 并且添加頂部標(biāo)簽文字:

privatevoidinitview(){
TabListtabList=(TabList)findComponentById(ResourceTable.Id_tab_list);
if(tabList!=null){
for(inti=0;i

我們初始化 tablist 控件后,for 循環(huán)設(shè)置我們 tablist 的 tab,并添加到 tablist 組件的 addTab 方法中。

①多個 fraction 切換邏輯:

privatevoidaddHomeFraction(){
getFractionManager()
.startFractionScheduler()
.add(ResourceTable.Id_mainstack,newAttentionFraction())
.submit();
}


publicvoidlayoutShow(intcode){
switch(code){
case0:
getFractionManager()
.startFractionScheduler()
.replace(ResourceTable.Id_mainstack,newAttentionFraction())
.submit();

break;
case1:
getFractionManager()
.startFractionScheduler()
.replace(ResourceTable.Id_mainstack,newRecommendFraction())
.submit();


break;
case2:
getFractionManager()
.startFractionScheduler()
.replace(ResourceTable.Id_mainstack,newHotspotFraction())
.submit();

break;
case3:
getFractionManager()
.startFractionScheduler()
.replace(ResourceTable.Id_mainstack,newQuestionFraction())
.submit();

break;
default:
break;
}
}
這邊我們提供了一個 addHomeFraction 方法和 layoutShow 方法。 我們在進入 MainAbility 的時候調(diào)用 addHomeFraction 來加載第一個默認(rèn)的 fraction。

然后我們在點擊頂部的 tablist 標(biāo)簽的時候,我們在 onSelected 回調(diào)方法中調(diào)用 layoutShow方法。

publicvoidonSelected(TabList.Tabtab){
//當(dāng)某個Tab從未選中狀態(tài)變?yōu)檫x中狀態(tài)時的回調(diào)
System.out.println("當(dāng)某個Tab從未選中狀態(tài)變?yōu)檫x中狀態(tài)時的回調(diào)");
layoutShow(tab.getPosition());
}

我們只需要傳入 tab.getPosition() 點擊頂部標(biāo)簽的下標(biāo)即可,這樣依賴我們的 tablist 配合多個 fraction 切換功能就實現(xiàn)了。具體的 fraction 的內(nèi)部邏輯我們簡單說一下。

②關(guān)注模塊

布局文件:







java 邏輯代碼:

packagecom.example.tablist.fraction;
importcom.example.tablist.ResourceTable;
importcom.example.tablist.bean.PositionInfo;
importcom.example.tablist.config.Api;
importcom.example.tablist.provider.PositionProvider;
importcom.google.gson.Gson;
importohos.aafwk.ability.fraction.Fraction;
importohos.aafwk.content.Intent;
importohos.agp.components.Component;
importohos.agp.components.ComponentContainer;
importohos.agp.components.LayoutScatter;
importohos.agp.components.ListContainer;
importjava.util.List;
/***
*
*創(chuàng)建人:xuqing
*創(chuàng)建2021年2月28日1703
*類說明:關(guān)注模塊
*
*/
publicclassAttentionFractionextendsFraction{
privatePositionProviderpositionProvider;
privateListContainerlistContainer;
@Override
protectedComponentonComponentAttached(LayoutScatterscatter,ComponentContainercontainer,
Intentintent){
Componentcomponent=scatter.parse(ResourceTable.Layout_fraction_attention,container,false);
returncomponent;
}
protectedvoidonStart(Intentintent){
super.onStart(intent);
listContainer=(ListContainer)
getFractionAbility().findComponentById(ResourceTable.Id_jop_page_list);
getPostition();
}
publicvoidgetPostition(){
Gsongson=newGson();
PositionInfopositionInfo=gson.fromJson(Api.getPositioninfo(),PositionInfo.class);
Listlist=positionInfo.getData();
positionProvider=newPositionProvider(list,getFractionAbility());
listContainer.setItemProvider(positionProvider);
}
}

幾個 fraction 其實比較簡單,都是加載本地死數(shù)據(jù)顯示在 listContainer 控件上面。

其他幾個 fraction 因為邏輯都差不多我這邊就不展開一個一個講,有興趣的同學(xué)可以下載完整代碼去查閱,鴻蒙到此 TabList 配合 Fraction 實現(xiàn)頂部切換效果就講完了。

總結(jié)

鴻蒙里面提供了比較好用的 tablist 組件,我們只需要簡單的基本就能實現(xiàn)頂部 tab 的切換了。 然后配合 fraction 跟 Ability 進行綁定,但是我們的 Ability 需要繼承 FractionAbility。這樣我們就能完成 fraction 和 ability 的綁定。 我們在 tablist 的回調(diào)方法去調(diào)用我們替換 fraction 的方法就能實現(xiàn)頂部 tablist 點擊切換的時候下面的 fraction 跟著一起切換。

更多的 tablist 和 fraction 的聯(lián)動效果同學(xué)們有興趣可以私下研究,我這邊篇幅有限就不展開講了。

最后希望我的文章能幫助到各位解決問題,以后我還會貢獻更多有用的代碼分享給大家。

項目地址:

https://gitee.com/qiuyu123/tablistcut

原文標(biāo)題:在鴻蒙上實現(xiàn)“頂部切換”效果

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

審核編輯:彭菁

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

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109516
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70670
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2617

    瀏覽量

    44021

原文標(biāo)題:在鴻蒙上實現(xiàn)“頂部切換”效果

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    鴻蒙機器人與鴻蒙開發(fā)板聯(lián)動演示

    鴻蒙機器人與鴻蒙開發(fā)板聯(lián)動演示,機器人的角色為迎賓機器人,開發(fā)板負(fù)責(zé)人賓客出現(xiàn)監(jiān)聽
    發(fā)表于 12-02 14:55

    用DGUS做的PPT切換頁面效果

    本帖最后由 ccn 于 2018-8-27 16:13 編輯 用DGUS做的PPT切換頁面效果,其實就是利用了DGUS的“剪切圖片區(qū)域”指令,可惜的是只能剪切矩形??梢园错樞蚣羟?,也可以打亂了
    發(fā)表于 08-27 16:10

    fraction為什么編譯不過?

    fraction=(temp-mantissa)*16;寫成fraction=(temp-mantissa)
    發(fā)表于 08-21 08:00

    搭載HarmonyOS鴻蒙系統(tǒng)2.0的華為P40演示

    搭載HarmonyOS鴻蒙系統(tǒng)2.0的華為P40演示
    發(fā)表于 01-14 09:32

    HarmonyOS-JS商城手機TV分布式布局效果練習(xí)

    ` 本帖最后由 李洋水蛟龍 于 2021-3-5 17:24 編輯 一、效果展示 二、簡要說明主要是參照鴻蒙官方演示代碼,實現(xiàn)的各項效果
    發(fā)表于 03-05 17:20

    ComponentCodelab——Tablist的使用方法

    讓開發(fā)者了解HarmonyOS應(yīng)用開發(fā)常用布局和常用組件之Tablist的使用方法,體驗從工程創(chuàng)建到代碼、布局的編寫,再到編譯構(gòu)建、部署和運行的全過程。
    發(fā)表于 05-08 22:04

    ComponentCodelab——體驗TabList和Tab組件(實操)

    演示鴻蒙ComponentCodelab中TabList和Tab組件的使用
    發(fā)表于 05-09 17:06

    TabList find為什么總是返回null?

    TabList為什么findComponentById返回null在xml中已經(jīng)定義過了,發(fā)現(xiàn)總是返回null
    發(fā)表于 03-16 14:12

    請問下鴻蒙webview切換后臺后,要怎么才能停止聲音的播放?

    請問下鴻蒙webview切換后臺后,要怎么才能停止聲音的播放我是用了onInactive,依然沒有起到效果
    發(fā)表于 05-11 11:21

    在Altera SoC上面演示Android應(yīng)用程序效果

    演示由Altera全球合作伙伴Fujisoft提供。演示在Altera SoC上面的Android應(yīng)用程序。并且Fujisoft演示了在FPGA邏輯上實現(xiàn)2D加速IP,達(dá)到高達(dá)54f
    的頭像 發(fā)表于 06-26 08:08 ?3748次閱讀

    基于AS腳本的flash圖片自動切換效果實現(xiàn)

    本文詳細(xì)介紹了用Adobe Flash Professional CS5.5腳本設(shè)計圖片切換效果的技術(shù)和步驟,并附上腳本詳細(xì)代碼,對網(wǎng)站動畫設(shè)計和多媒體課件制作都具有一定的指導(dǎo)作用。
    的頭像 發(fā)表于 11-15 08:43 ?3811次閱讀
    基于AS腳本的flash圖片自動<b class='flag-5'>切換</b><b class='flag-5'>效果</b>的<b class='flag-5'>實現(xiàn)</b>

    Fluid catalytic cracking of petroleum fraction

    Fluid catalytic cracking of petroleum fraction(5g電源技術(shù)要求)-Fluid catalytic cracking of petroleum fraction (vacuum gas oil) to produce gaso
    發(fā)表于 08-04 16:49 ?10次下載
    Fluid catalytic cracking of petroleum <b class='flag-5'>fraction</b>

    基于openharmony實現(xiàn)綁定ability和fraction頁面切換的三方庫

    項目介紹 項目名稱:Alligator 所屬系列:openharmony的第三方組件適配移植 功能:通過注解處理器實現(xiàn)一套綁定ability和fraction頁面切換的三方庫 項目移植狀態(tài):主功能
    發(fā)表于 04-08 10:21 ?1次下載

    如何在Linux系統(tǒng)實現(xiàn)屏幕旋轉(zhuǎn)?觸覺智能RK3568鴻蒙開發(fā)板演示

    本文介紹Linux系統(tǒng)實現(xiàn)屏幕旋轉(zhuǎn)的方法,以解決產(chǎn)品形態(tài)的不同的展現(xiàn)方式,觸覺智能EVB3568鴻蒙開發(fā)板演示,現(xiàn)已發(fā)布全新OpenHarmony5.0 Release固件!
    的頭像 發(fā)表于 11-19 23:42 ?994次閱讀
    如何在Linux系統(tǒng)<b class='flag-5'>實現(xiàn)</b>屏幕旋轉(zhuǎn)?觸覺智能RK3568<b class='flag-5'>鴻蒙</b>開發(fā)板<b class='flag-5'>演示</b>

    HarmonyOS實戰(zhàn):Tab頂部滑動懸停功能實現(xiàn)

    日常開發(fā)過程中,遇到這種 Scroll 嵌套 List 列表滑動頂部懸停的場景十分常見,在鴻蒙開發(fā)時也正好實現(xiàn)了這個功能,本篇文章將帶你一步步實現(xiàn) Tab
    的頭像 發(fā)表于 06-24 17:07 ?113次閱讀