在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

鴻蒙開發(fā)實戰(zhàn)-運動app開發(fā)

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

掃碼添加小助手

加入工程師交流群

主要開發(fā)內容

開發(fā)準備

想要實現(xiàn)以下功能的話,需要學習“Tabs”,“TabContent”,“Row”,“Column”,等等相關技術。

主頁

靜坐頁面
除此之外,還需要先準備8張圖標的圖片以及應用開發(fā)所需要的圖片。

tabs功能實現(xiàn)

應用中的Tabs功能通過采用了TabsController來實現(xiàn)。TabsController是一個在鴻蒙開發(fā)框架中用于管理Tabs的控制器,它負責處理Tabs之間的切換邏輯。以下是實現(xiàn)Tabs功能的關鍵代碼部分:

// 定義TabsController實例
private controller: TabsController = new TabsController()
// ...
// 在build方法中使用Tabs組件,并傳入controller
build() {
  Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
    Tabs({ controller: this.controller }) {
      // ...(省略Tabs中的內容)
    }
  }
}

在上述代碼中,通過創(chuàng)建一個TabsController實例并賦值給controller成員變量,將該控制器傳遞給Tabs組件。Tabs組件會根據(jù)傳入的控制器進行管理,從而實現(xiàn)Tabs之間的切換。

關于TabsController的具體使用,我們可以看到定義了多個方法,如IndexClick、messageClick、myClick和meClick等。這些方法分別用于處理不同Tabs的點擊事件,并在點擊時調用controller.changeIndex(index)來切換到對應的Tabs。通過TabsController的管理和控制,實現(xiàn)了在MyNewsIndex應用中不同Tabs之間的切換效果。用戶點擊不同的Tabs時,調用相應的方法切換到對應的內容,從而提供了用戶友好的導航和瀏覽體驗。Tabs功能的實現(xiàn)使得用戶可以方便地切換到不同的運動分類或內容頁面,增強了應用的可用性。

@Entry
@Component
struct MyNewsIndex {
  private controller: TabsController = new TabsController()
  @State SelectPos:number=0;
  public IndexClick(){
    this.SelectPos=0;
    this.controller.changeIndex(0)
  }
  public messageClick(){
    this.SelectPos=1;
    this.controller.changeIndex(1)
  }
  public myClick(){
    this.SelectPos=2;
    this.controller.changeIndex(2)
  }
  public meClick(){
    this.SelectPos=3;
    this.controller.changeIndex(3)
  }

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Tabs({ controller: this.controller }) {
        TabContent() {
          Column() {
            zhu()
          }

        }
        .tabBar()
        TabContent() {
          Column() {
            jingzuo()
          }

        }
        .tabBar()
        TabContent() {
          Text("我men的")
            .width('100%').height('100%')
            .fontSize(50)
            .textAlign(TextAlign.Center)
            .fontColor(Color.White)
            .backgroundColor(0X6495ED)
        }
        .tabBar()
        TabContent() {
          Text("我")
            .width('100%').height('100%')
            .fontSize(50)
            .textAlign(TextAlign.Center)
            .fontColor(Color.White)
            .backgroundColor(Color.Black)

        }
        .tabBar()
      }
      .scrollable(false)
      .barHeight(0)
      .animationDuration(0)

底部導航欄

通過Row和Column以及Text,Image等組件,實現(xiàn)了底部的導航欄。四個不同的圖標分別代表主頁、消息、我的、我,通過點擊不同圖標,用戶可以快速切換到對應的頁面,提升用戶友好性。以下是參考代碼:

Row() {
        Column(){
          Image((this.SelectPos==0?$r('app.media.yundong1'):$r('app.media.yundong')))
            .width(30)
            .height(30)
            .margin(12)

        }
        .layoutWeight(1)

        .height("100%")
        .onClick(this.IndexClick.bind(this))

        Column(){
          Image((this.SelectPos==1?$r('app.media.gangling1'):$r("app.media.gangling")))
            .width(35)
            .height(30)
            .margin(12)

        }
        .layoutWeight(1)

        .height("100%")
        .onClick(this.messageClick.bind(this))

        Column(){
          Image((this.SelectPos==2?$r('app.media.zhidao1'):$r('app.media.zhidao')))
            .width(30)
            .height(30)
            .margin(12)

        }
        .layoutWeight(1)

        .height("100%")
        .onClick(this.myClick.bind(this))

        Column(){
          Image((this.SelectPos==3?$r('app.media.me1'):$r('app.media.me')))
            .width(30)
            .height(30)
            .margin(12)
        }
        .layoutWeight(1)

        .height("100%")
        .onClick(this.meClick.bind(this))
      }
      .alignItems(VerticalAlign.Bottom)
      .width('100%')
      .height(50)
      .margin({top:0,right:0,bottom:10,left:0})
    }
    .width('100%')
    .height('100%')
  }
}

總結

本項目使用鴻蒙框架的代碼結構清晰且容易理解。通過引入頁面組件(zhu和jingzuo)以及使用裝飾器(@Entry和@Component)來定義組件,代碼使得組件的結構和布局一目了然,用戶可以輕松切換到不同的運動分類,包括主頁、精選等,還提供了用戶友好的界面導航,使用戶能夠快速找到符合個人興趣的運動內容,除此之外,本項目通過鴻蒙采用了靈活的Flex布局,確保在不同設備上都能夠實現(xiàn)良好的自適應效果。

其次,鴻蒙框架提供了一系列的布局和樣式管理工具,如Flex、Column、Tabs等,使得頁面的布局和樣式定義更加方便。這種靈活性使得開發(fā)者可以更容易地創(chuàng)建各種復雜的頁面布局,同時保持代碼的簡潔性。

審核編輯 黃宇

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

    關注

    30

    文章

    4891

    瀏覽量

    70402
  • 鴻蒙
    +關注

    關注

    59

    文章

    2562

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙5開發(fā)寶藏案例分享---性能體驗設計

    難題,歡迎在評論區(qū)交流~ 也歡迎關注我,后續(xù)會持續(xù)分享鴻蒙開發(fā)實戰(zhàn)技巧! **? 希望這篇接地氣的總結能幫你避開性能深坑!如果覺得有用,記得點贊收藏喲 ? 下期見!
    發(fā)表于 06-12 16:45

    鴻蒙5開發(fā)寶藏案例分享---埋點開發(fā)實戰(zhàn)指南

    鴻蒙埋點開發(fā)寶藏指南:官方案例實戰(zhàn)解析,輕松搞定數(shù)據(jù)追蹤! 大家好呀!我是HarmonyOS開發(fā)路上的探索者。最近在折騰應用埋點時,意外發(fā)現(xiàn)了鴻蒙
    發(fā)表于 06-12 16:30

    鴻蒙5開發(fā)寶藏案例分享---應用架構實戰(zhàn)技巧

    鴻蒙應用架構實戰(zhàn):分層設計與線程通信詳解 大家好! 今天咱們聊聊鴻蒙開發(fā)中那些“官方文檔提了但實際開發(fā)難找”的架構設計技巧。結合官方文檔(鏈
    發(fā)表于 06-12 16:14

    鴻蒙5開發(fā)寶藏案例分享---Pura X開發(fā)案例分享

    ?** 鴻蒙寶藏案例分享:Pura X 外屏開發(fā)實戰(zhàn)解析** 大家好!我是你們的鴻蒙開發(fā)小伙伴。今天在翻閱官方文檔時,意外發(fā)現(xiàn)了華為藏著的\
    發(fā)表于 06-12 11:47

    使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件

    # 使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件 #鴻蒙開發(fā)工具 #DevEco Studio ##
    發(fā)表于 06-11 17:18

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(地圖導航)

    ? 鴻蒙開發(fā)隱藏寶藏大公開!手把手教你玩轉\"一多\"地圖導航案例 ? 大家好呀!我是你們的老朋友,今天要給大家扒一扒鴻蒙官方文檔里那些\"藏得深\"的實戰(zhàn)
    發(fā)表于 06-03 16:17

    鴻蒙5開發(fā)寶藏案例分享---折疊屏懸停態(tài)開發(fā)實踐

    ?【鴻蒙折疊屏開發(fā)寶藏指南】原來官方藏了這么多好東西!手把手教你玩轉懸停態(tài)開發(fā)**?** Hey小伙伴們!我是你們的老朋友XX,最近在肝鴻蒙折疊屏項目時,意外挖到了官方文檔里的隱藏寶藏
    發(fā)表于 06-03 12:04

    LwIP應用開發(fā)實戰(zhàn)指南—基于野火STM32

    LwIP應用開發(fā)實戰(zhàn)指南—基于野火STM32—20210122
    發(fā)表于 01-17 14:34 ?8次下載

    鴻蒙Flutter實戰(zhàn):14-現(xiàn)有Flutter 項目支持鴻蒙 II

    分別安裝官方的3.22版本,以及鴻蒙社區(qū)的 3.22.0 版本 3.搭建 Flutter鴻蒙開發(fā)環(huán)境 參考文章《鴻蒙Flutter實戰(zhàn):0
    發(fā)表于 12-26 14:59

    鴻蒙原生開發(fā)手記:01-元服務開發(fā)

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

    鴻蒙Flutter實戰(zhàn):12-使用模擬器開發(fā)調試

    前提 開發(fā)電腦需為M系列芯片 (ARM架構) 的 Mac 電腦 目前 Flutter 鴻蒙開發(fā),無法使用 X86 架構的模擬器,只能使用 ARM 架構的模擬器** 創(chuàng)建項目 等開發(fā)
    發(fā)表于 11-10 13:13

    鴻蒙Flutter實戰(zhàn):10-常見問題集合

    # 鴻蒙Flutter實戰(zhàn):10-常見問題集合 ## 1. 學習路徑應該是怎樣的,需要掌握哪些技術才具備鴻蒙 Flutter 開發(fā)能力 1.1 學習和掌握 Flutter
    發(fā)表于 10-23 17:05

    鴻蒙Flutter實戰(zhàn):08-如何調試代碼

    # 鴻蒙Flutter實戰(zhàn):如何調試代碼 ## 1.環(huán)境搭建 參考文章[鴻蒙Flutter實戰(zhàn):01-搭建開發(fā)環(huán)境](https://g
    發(fā)表于 10-23 16:29

    鴻蒙Flutter實戰(zhàn):07混合開發(fā)

    # 鴻蒙Flutter實戰(zhàn):混合開發(fā) 鴻蒙Flutter混合開發(fā)主要有兩種形式。 ## 1.基于har 將flutter module
    發(fā)表于 10-23 16:00

    鴻蒙Flutter實戰(zhàn):01-搭建開發(fā)環(huán)境

    : 備注:鴻蒙Flutter wx:zacksleo 參考資料 Flutter中文文檔 Harmonyos Next 開發(fā)文檔
    發(fā)表于 10-21 19:35
    主站蜘蛛池模板: 97青青| 1717国产精品久久 | 一级看片免费视频囗交 | 亚洲精品久久久久午夜福 | 免费高清特级毛片 | 奇米影视亚洲春色77777 | 日本黄色录像视频 | 天天摸天天碰成人免费视频 | 国产黄页| 国产精品久久久久久久9999 | 国产亚洲婷婷香蕉久久精品 | 欧洲精品不卡1卡2卡三卡四卡 | 夜夜夜爽bbbb性视频 | 五月激情久久 | 最好免费高清视频观看韩国 | 黄色aa毛片 | vip影院在线观看 | 一级毛片免费毛片一级毛片免费 | 国产成人在线影院 | 日本色午夜 | 免费的黄色片 | 夜夜爽夜夜 | 超人碰碰碰人人成碰人 | 国产美女亚洲精品久久久久久 | 国产成人福利夜色影视 | 久久婷五月综合 | 欧美激情综合色综合啪啪五月 | 在线观看免费视频 | 欧美天天综合 | 视频一区二区不卡 | 色婷婷社区 | 午夜资源站 | 天天色综合色 | 天天干狠狠 | 男人的天堂一区二区视频在线观看 | 可以在线看黄的网站 | 久久青草国产精品一区 | 黄色超污网站 | 久久久午夜毛片免费 | 日本特黄特色大片免费看 | 69色综合|