HarmonyOS NEXT 实战系列08-案例微博导航设置

简介: 本示例展示了如何通过 `PersistentStorage` 和 `AppStorage` 实现全局 UI 状态的持久化,并结合 `Tabs` 组件创建动态切换的首页导航栏。用户可在“视频”与“超话”间切换,状态自动保存。同时,通过 `router` 跳转至导航设置页 (`NavSetting.ets`) 完成选项修改,支持返回操作及对齐布局调整。代码涵盖基础组件用法,适合学习跨页面状态管理与 UI 设计。

image.png

实现步骤:

首页 Tab 栏
导航设置页,实现切换
使用 PersistentStorage + AppStorage 实现全局UI状态且持久化
代码:

Index.ets 文件
import { router } from '@kit.ArkUI'

PersistentStorage.persistProp('isVideo', true)

@Entry
@Component
struct Index {
@StorageProp('isVideo') isVideo: boolean = true

build() {
Column() {
Tabs({ barPosition: BarPosition.End }) {
TabContent() {
Text('首页')
}
.tabBar({
text: '首页'
})

    if (this.isVideo) {
      TabContent() {
        Text('视频')
      }
      .tabBar({
        text: '视频'
      })
    } else {
      TabContent() {
        Text('超话')
      }
      .tabBar({
        text: '超话'
      })
    }


    TabContent() {
      Text('发现')
    }
    .tabBar({
      text: '发现'
    })

    TabContent() {
      Text('消息')
    }
    .tabBar({
      text: '消息'
    })

    TabContent() {
      Column({ space: 24 }) {
        Button('导航栏设置')
          .onClick(() => {
            router.pushUrl({ url: 'pages/NavSetting' })
          })
        Text('我')
      }
    }
    .tabBar({
      text: '我'
    })
  }
}
.height('100%')
.width('100%')

}
}

NavSetting.ets 文件
import { router } from '@kit.ArkUI'

@Entry
@Component
struct NavSetting {
@StorageLink('isVideo') isVideo: boolean = true

build() {
Column() {
Row({ space: 2 }) {
Image($r('sys.media.ohos_ic_back'))
.width(24)
.aspectRatio(1)
Text('返回')
}
.alignSelf(ItemAlign.Start)

  .onClick(() => {
    router.back()
  })

  Row() {
    Text('超话')
    Blank()
    if (!this.isVideo) {
      Image($r('sys.media.ohos_ic_public_ok'))
        .width(24)
        .aspectRatio(1)
        .fillColor('#00ff00')
    }
  }
  .height(60)
  .width('100%')
  .onClick(() => {
    this.isVideo = false
  })

  Row() {
    Text('视频')
    Blank()
    if (this.isVideo) {
      Image($r('sys.media.ohos_ic_public_ok'))
        .width(24)
        .aspectRatio(1)
        .fillColor('#00ff00')
    }
  }
  .height(60)
  .width('100%')
  .onClick(() => {
    this.isVideo = true
  })
}
.height('100%')
.width('100%')
.padding(15)

}
}

梳理:

Tabs 组件基础用法
alignSelf(ItemAlign.Start) 单独设置对齐方式
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/zsgzsgzsgzsgzsg/article/details/146198958

相关文章
|
23天前
|
监控 JavaScript 编译器
从“天书”到源码:HarmonyOS NEXT 崩溃堆栈解析实战指南
本文详解如何利用 hiAppEvent 监控并获取 sourcemap、debug so 等核心产物,剖析了 hstack 工具如何将混淆的 Native 与 ArkTS 堆栈还原为源码,助力开发者掌握异常分析方法,提升应用稳定性。
327 36
|
2月前
|
开发者 容器
鸿蒙应用开发从入门到实战(十四):ArkUI组件Column&Row&线性布局
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解Column和Row组件的使用以及线性布局的方法。
253 12
|
24天前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
159 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
30天前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
222 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
1月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
477 3
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
29天前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
100 0
|
2月前
鸿蒙应用开发从入门到实战(十六):线性布局案例
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文通过简单案例演示如何使用Column和Row组件实现线性布局。
128 1
|
2月前
|
传感器 监控 安全
HarmonyOS NEXT 5.0 的星闪(NearLink)开发应用案例
V哥分享HarmonyOS NEXT 5.0星闪开发实战,涵盖智能车钥匙无感解锁与工业传感器监控。低延迟、高可靠,代码完整,速来学习!
424 0
|
5月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
|
4月前
|
安全 JavaScript API
鸿蒙开发核心要素
鸿蒙开发核心要素

热门文章

最新文章