码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HarmonyOS 实现底部导航栏


    该功能实现需要Tabs、TabsController、TabContent、Column等组件

    Tabs相当于Android中的BottomNavigationView
    TabContent相当于Android中的fragment
    TabBuilder内相当于每个Item

    @Entry
    @Component
    struct Main {
    
      public tabsController : object = new TabsController()
      @State currentIndex:number = 0
    
      build() {
        Tabs({barPosition:BarPosition.End,controller:this.tabsController}) {
          TabContent() {
            Text('首页的内容').fontSize(30)
          }
          .tabBar(this.TabBuilder("首页",0,$r('app.media.icon_main_tab_home_true'),$r('app.media.icon_main_tab_home_false')))
          TabContent() {
            Text('公众号的内容').fontSize(30)
          }
          .tabBar(this.TabBuilder("公众号",1,$r('app.media.icon_main_tab_public_true'),$r('app.media.icon_main_tab_public_false')))
          TabContent() {
            Text('体系的内容').fontSize(30)
          }
          .tabBar(this.TabBuilder("体系",2,$r('app.media.icon_main_tab_system_true'),$r('app.media.icon_main_tab_system_false')))
          TabContent() {
            Text('项目的内容').fontSize(30)
          }
          .tabBar(this.TabBuilder("项目",3,$r('app.media.icon_main_tab_project_true'),$r('app.media.icon_main_tab_project_false')))
        }.barHeight(100)
        .onChange((index:number) => {
          this.currentIndex = index
        })
      }
    
      @Builder TabBuilder(title: string, targetIndex: number,selectedImg: Resource,normalImg: Resource) {
        Column() {
          Image(this.currentIndex === targetIndex ? selectedImg : normalImg)
            .size({ width: 30, height: 30 })
          Text(title)
            .fontColor(this.currentIndex === targetIndex ? '#5DA0FF' : '#999999')
        }
        .onClick(() => {
          this.currentIndex = targetIndex;
          this.tabsController.changeIndex(this.currentIndex);
        })
        .justifyContent(FlexAlign.Center)
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    效果如下:

  • 相关阅读:
    如何解决虚拟仿真教学中的设备限制和卡顿问题?|点量云流技术解决方案
    华为Pura 70 Ultra可发送卫星图片,卫星通信升级再突破!
    【开题报告】基于SpringBoot的钻戒选购平台的设计与实现
    回溯法(复习笔记一)
    Qt中的数据库使用
    腾讯开源 tRPC:多语言、高性能 RPC 开发框架
    【OpenCV-Python】教程:3-10 直方图(4)直方图反向投影
    [Java安全]—Tomcat反序列化注入回显内存马
    前辈经验分享:Linux后台开发调试
    建筑央企工程项目数字化管理整体解决方案
  • 原文地址:https://blog.csdn.net/qq_32136827/article/details/134467688
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号