鸿蒙Next开发中如何编写头部

在鸿蒙Next开发中,如何正确编写页面头部?需要导入哪些组件或模块?头部通常包含哪些基本元素(比如标题、返回按钮等)?有没有推荐的布局方式或最佳实践?希望能提供一个简单的代码示例说明具体实现方法。

2 回复

鸿蒙Next开发中,编写头部(标题栏)很简单!在EntryAbilityonWindowStageCreate方法中,调用window.setWindowLayoutFullScreen(false)取消全屏,再通过AbilityPageNavigation组件设置标题,例如:

Navigation({ title: '我的应用' }) {
  // 页面内容
}

搞定!简洁又高效~

更多关于鸿蒙Next开发中如何编写头部的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next开发中,编写头部(通常指应用界面的顶部栏)可以使用NavigationContainerNavigationHeader组件来实现。以下是具体步骤和示例代码:

1. 基本头部实现

使用NavigationContainerNavigationHeader创建标准顶部栏:

import { NavigationContainer, NavigationHeader } from '@ohos/navigation';

@Entry
@Component
struct MyHeaderExample {
  build() {
    NavigationContainer() {
      NavigationHeader({
        title: '我的应用',
        subtitle: '副标题',
        backEnabled: true  // 显示返回按钮
      })
      // 页面内容
      Column() {
        Text('页面内容')
          .fontSize(20)
      }
    }
  }
}

2. 自定义头部内容

通过@Builder自定义头部布局:

@Component
struct CustomHeaderExample {
  @Builder
  HeaderBuilder() {
    Row({ space: 10 }) {
      Image($r('app.media.back'))
        .width(30)
        .height(30)
        .onClick(() => {
          // 返回逻辑
        })
      Text('自定义标题')
        .fontSize(20)
        .fontColor(Color.Black)
      Blank()
      Image($r('app.media.menu'))
        .width(30)
        .height(30)
    }
    .width('100%')
    .padding(10)
    .backgroundColor('#F1F3F5')
  }

  build() {
    NavigationContainer() {
      NavigationHeader({ builder: this.HeaderBuilder })
      // 页面内容
      Column() {
        Text('页面内容')
      }
    }
  }
}

3. 常用属性配置

  • title: 主标题文本
  • subtitle: 副标题文本
  • backEnabled: 是否显示返回按钮
  • hide: 控制头部显示/隐藏
  • builder: 自定义构建器

注意事项:

  1. NavigationContainer是必需的容器组件
  2. 头部通常包含标题、导航按钮和操作按钮
  3. 可以通过样式属性调整颜色、高度等外观

这种实现方式符合鸿蒙Next的设计规范,能够自动适配不同设备和屏幕尺寸。

回到顶部