女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

3天內不再提示

鴻蒙ArkUI開發-Tabs組件的使用

jf_46214456 ? 來源: jf_46214456 ? 作者: jf_46214456 ? 2024-01-19 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在我們常用的應用中,經常會有視圖內容切換的場景,來展示更加豐富的內容。比如下面這個頁面,點擊底部的頁簽的選項,可以實現“首頁”和“我的” 兩個內容視圖的切換。

ArkUI開發框架提供了一種頁簽容器組件Tabs,開發者通過Tabs組件可以很容易的實現內容視圖的切換。頁簽容器Tabs的形式多種多樣,不同的頁面設計頁簽不一樣,可以把頁簽設置在底部、頂部或者側邊。

本文將詳細介紹Tabs組件的使用。

Tabs組件的簡單使用

Tabs組件僅可包含子組件TabContent,每一個頁簽對應一個內容視圖即TabContent組件。下面的示例代碼構建了一個簡單的頁簽頁面:

@Entry
@Component
struct TabsExample {
 private controller: TabsController = new TabsController()
 
 build() {
 Column() {
 Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
 TabContent() {
          Column().width('100%').height('100%').backgroundColor(Color.Green)
        }
        .tabBar('green')
 
 TabContent() {
          Column().width('100%').height('100%').backgroundColor(Color.Blue)
        }
        .tabBar('blue')
 
 TabContent() {
          Column().width('100%').height('100%').backgroundColor(Color.Yellow)
        }
        .tabBar('yellow')
 
 TabContent() {
          Column().width('100%').height('100%').backgroundColor(Color.Pink)
        }
        .tabBar('pink')
      }
      .barWidth('100%') // 設置TabBar寬度
      .barHeight(60) // 設置TabBar高度
      .width('100%') // 設置Tabs組件寬度
      .height('100%') // 設置Tabs組件高度
      .backgroundColor(0xF5F5F5) // 設置Tabs組件背景顏色
    }
    .width('100%')
    .height('100%')
  }
}

效果圖如下:

上面示例代碼中,Tabs組件中包含4個子組件TabContent,通過TabContent的tabBar屬性設置TabBar的顯示內容。使用通用屬性width和height設置了Tabs組件的寬高,使用barWidth和barHeight設置了TabBar的寬度和高度。

說明

  • TabContent組件不支持設置通用寬度屬性,其寬度默認撐滿Tabs父組件。
  • TabContent組件不支持設置通用高度屬性,其高度由Tabs父組件高度與TabBar組件高度決定。

設置TabBar布局模式

因為Tabs的布局模式默認是Fixed的,所以Tabs的頁簽是不可滑動的。當頁簽比較多的時候,可能會導致頁簽顯示不全,將布局模式設置為Scrollable的話,可以實現頁簽的滾動。 Tabs的布局模式有Fixed(默認)和Scrollable兩種:

  • BarMode.Fixed:所有TabBar平均分配barWidth寬度(縱向時平均分配barHeight高度),頁簽不可滾動,效果圖如下:

  • BarMode.Scrollable:每一個TabBar均使用實際布局寬度,超過總長度(橫向Tabs的barWidth,縱向Tabs的barHeight)后可滑動。

  • 當頁簽比較多的時候,可以滑動頁簽,下面的示例代碼將barMode設置為BarMode.Scrollable,實現了可滾動的頁簽:
@Entry
@Component
struct TabsExample {
 private controller: TabsController = new TabsController()
 
 build() {
 Column() {
 Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
 TabContent() {
          Column()
            .width('100%')
            .height('100%')
            .backgroundColor(Color.Green)
        }
        .tabBar('green')
 
 TabContent() {
          Column()
            .width('100%')
            .height('100%')
            .backgroundColor(Color.Blue)
        }
        .tabBar('blue')
 
        ...
 
      }
      .barMode(BarMode.Scrollable)
      .barWidth('100%')
      .barHeight(60)
      .width('100%')
      .height('100%')
    }
  }
}

設置TabBar位置和排列方向 Tabs組件頁簽默認顯示在頂部,某些場景下您可能希望Tabs頁簽出現在底部或者側邊,您可以使用Tabs組件接口中的參數barPosition設置頁簽位置。此外頁簽顯示位置還與vertical屬性相關聯,vertical屬性用于設置頁簽的排列方向,當vertical的屬性值為false(默認值)時頁簽橫向排列,為true時頁簽縱向排列。 barPosition的值可以設置為BarPosition.Start(默認值)和BarPosition.End:

  • BarPosition.Startvertical屬性方法設置為false(默認值)時,頁簽位于容器頂部。
Tabs({ barPosition: BarPosition.Start }) {
  ...
}
.vertical(false) 
.barWidth('100%') 
.barHeight(60)

效果圖如下:

vertical屬性方法設置為true時,頁簽位于容器左側。

Tabs({ barPosition: BarPosition.Start }) {
  ...
}
.vertical(true) 
.barWidth(100) 
.barHeight(200)

效果圖如下:

  • BarPosition.Endvertical屬性方法設置為false時,頁簽位于容器底部。
Tabs({ barPosition: BarPosition.End }) {
  ...
}
.vertical(false) 
.barWidth('100%') 
.barHeight(60)

效果圖如下:

vertical屬性方法設置為true時,頁簽位于容器右側。

Tabs({ barPosition: BarPosition.End}) {
  ...
}
.vertical(true) 
.barWidth(100) 
.barHeight(200)

效果圖如下:

自定義TabBar樣式

TabBar的默認顯示效果如下所示:

往往開發過程中,UX給我們的設計效果可能并不是這樣的,比如下面的這種底部頁簽效果:

TabContent的tabBar屬性除了支持string類型,還支持使用@Builder裝飾器修飾的函數。您可以使用@Builder裝飾器,構造一個生成自定義TabBar樣式的函數,實現上面的底部頁簽效果,示例代碼如下:

@Entry
@Component
struct TabsExample {
 @State currentIndex: number = 0;
 private tabsController: TabsController = new TabsController();
 
 @Builder TabBuilder(title: string, targetIndex: number, selectedImg: Resource, normalImg: Resource) {
 Column() {
      Image(this.currentIndex === targetIndex ? selectedImg : normalImg)
        .size({ width: 25, height: 25 })
      Text(title)
        .fontColor(this.currentIndex === targetIndex ? '#1698CE' : '#6B6B6B')
    }
    .width('100%')
    .height(50)
    .justifyContent(FlexAlign.Center)
    .onClick(() = > {
 this.currentIndex = targetIndex;
 this.tabsController.changeIndex(this.currentIndex);
    })
  }
 
 build() {
 Tabs({ barPosition: BarPosition.End, controller: this.tabsController }) {
 TabContent() {
        Column().width('100%').height('100%').backgroundColor('#00CB87')
      }
      .tabBar(this.TabBuilder('首頁', 0, $r('app.media.home_selected'), $r('app.media.home_normal')))
 
 TabContent() {
        Column().width('100%').height('100%').backgroundColor('#007DFF')
      }
      .tabBar(this.TabBuilder('我的', 1, $r('app.media.mine_selected'), $r('app.media.mine_normal')))
    }
    .barWidth('100%')
    .barHeight(50)
    .onChange((index: number) = > {
 this.currentIndex = index;
    })
  }
}

示例代碼中將barPosition的值設置為BarPosition.End,使頁簽顯示在底部。使用@Builder修飾TabBuilder函數,生成由Image和Text組成的頁簽。同時也給Tabs組件設置了TabsController控制器,當點擊某個頁簽時,調用changeIndex方法進行頁簽內容切換。 最后還需要給Tabs添加onChange事件,Tab頁簽切換后觸發該事件,這樣當我們左右滑動內容視圖的時候,頁簽樣式也會跟著改變。

審核編輯 黃宇

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

    關注

    59

    文章

    2588

    瀏覽量

    43946
  • OpenHarmony
    +關注

    關注

    29

    文章

    3847

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【HarmonyOS next】ArkUI-X休閑益智連連看【進階】

    鴻蒙和iOS設備上啟動的瞬間,真正感受到了跨平臺開發的未來已來。\" 獲取完整源碼 | ArkUI-X文檔中心 通過本實踐可見,ArkUI-X在保持原生性能的前提下,真正實現了\"一
    發表于 06-28 21:51

    【HarmonyOS next】ArkUI-X新聞熱搜聚合App【進階】

    通過ArkUI-X將鴻蒙下的新聞熱搜聚合App轉換為iOS 一、項目背景與技術選型 1.1 項目概述 本案例基于鴻蒙(HarmonyOS)開發的聚合熱搜熱榜應用,通過調用韓小韓博客提供
    發表于 06-28 21:43

    HarmonyOS NEXT應用元服務常見列表操作Tabs吸頂場景

    Tabs吸頂場景 場景描述 Tabs嵌套List的吸頂效果,常用于新聞、資訊類應用的首頁。 本場景以Tabs頁簽首頁內容為例,在首頁TabContent的內容區域使用List組件配合其
    發表于 06-28 15:07

    ArkUI-X案例解析

    實現的,應首先符合ArkUI-X框架的規格要求. 在應用UI方面存在的差異,是無法借助Bridge能力來彌補的。在此建議使用ArkUI-X框架中已經適配完畢的組件,這些組件功能相對穩定
    發表于 06-23 22:40

    ArkUI-X跨平臺技術落地-華為運動健康(一)

    開發工作量以及保證體驗一致性,對于運動健康App而言,顯得尤為重要。作為鴻蒙NEXT系統生態中的重要一員,ArkUI-X框架是我們跨平臺技術方案的首選。結合當前運動健康三端現狀,具體采取如下跨平臺技術
    發表于 06-18 22:53

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

    鴻蒙性能優化寶藏:幀率問題實戰案例解析 嘿,各位鴻蒙開發者! 今天分享一個開發中的大發現——鴻蒙官方文檔里藏著一堆超實用的性能優化案例!這些
    發表于 06-12 17:07

    鴻蒙5開發寶藏案例分享---點擊完成時延分析

    ?** 鴻蒙完成時延優化實戰指南:讓你的應用絲滑如飛!** 在移動端開發中, 完成時延就是用戶體驗的生命線 !今天帶你深入鴻蒙完成時延優化,揭秘官方文檔中的寶藏技巧,讓你的應用告別卡頓,流暢起飛
    發表于 06-12 17:03

    鴻蒙5開發寶藏案例分享---三折疊應用開發分享

    ) // 強制16:9 } ?總結 鴻蒙的三折疊適配方案核心可總結為: ? 斷點驅動布局 :sm/md/lg覆蓋所有狀態 ? 組件動態屬性 :Tabs/WaterFlow/Swiper根據斷點調整參數
    發表于 06-12 15:47

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

    的地方請大家高抬貴手,寬容一下,謝謝。 這次主要是給大家帶來一個重磅消息,就是我自己使用鴻蒙ArkTS語法開發的圖表組件今日正式開源了。為什么?原因有兩點吧! 鴻蒙是國產的操作系統,
    發表于 03-15 15:21

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

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

    華為推出RN/H5多設備自適應組件

    在原生鴻蒙應用開發中,華為針對ArkUI框架推出了一整套針對多設備適配的完善能力(如“一多”能力)以及高階組件(如分欄、邊看邊評等),幫助開發
    的頭像 發表于 01-16 14:46 ?738次閱讀

    鴻蒙原生開發手記:01-元服務開發

    簡介 元服務是鴻蒙中的一種輕量應用形態,無需下載,直接運行。類似于微信小程序,但與小程序不同的是,元服務更加輕量。 元服務使用原生開發,是系統級提供的,無論從易用性、性能、體驗上,都要比小程序好
    發表于 11-14 17:28

    鴻蒙Flutter實戰:07混合開發

    # 鴻蒙Flutter實戰:混合開發 鴻蒙Flutter混合開發主要有兩種形式。 ## 1.基于har 將flutter module打包成har包,在原生
    發表于 10-23 16:00

    鴻蒙ArkTS容器組件:TabContent

    僅在Tabs中使用,對應一個切換頁簽的內容視圖。
    的頭像 發表于 07-15 15:04 ?1463次閱讀
    <b class='flag-5'>鴻蒙</b>ArkTS容器<b class='flag-5'>組件</b>:TabContent

    鴻蒙ArkTS容器組件Tabs

    通過頁簽進行內容視圖切換的容器組件,每個頁簽對應一個內容視圖。
    的頭像 發表于 07-15 09:48 ?1689次閱讀
    <b class='flag-5'>鴻蒙</b>ArkTS容器<b class='flag-5'>組件</b>:<b class='flag-5'>Tabs</b>
    主站蜘蛛池模板: 苏州市| 宝丰县| 新干县| 林州市| 开原市| 额尔古纳市| 泗水县| 陇川县| 福海县| 繁昌县| 济宁市| 留坝县| 娄底市| 西充县| 谢通门县| 永和县| 莒南县| 平顶山市| 拉孜县| 台南市| 左权县| 兴文县| 宁海县| 成安县| 类乌齐县| 台江县| 大悟县| 景宁| 垫江县| 溧阳市| 沙坪坝区| 安丘市| 克山县| 清水县| 彩票| 万盛区| 健康| 康保县| 沙坪坝区| 海原县| 乌拉特中旗|