HarmonyOS 组件导航 (Navigation)可以隐藏标题栏、菜单栏、工具栏么

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

使用.hideTitleBar(true)可隐藏标题栏,hideToolBar可设置隐藏工具栏,可通过状态变量恐吓之是否显示菜单栏,请参考以下示例:

// xxx.ets
import { trustedAppService } from '@kit.DeviceSecurityKit'

class A {
  text: string = ''
  num: number = 0
}

@Entry
@Component
struct NavigationExample {
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  @State currentIndex: number = 0
  @State isShowMenu:boolean = true
  @Builder NavigationTitle() {
    Column() {
      Text('Title')
        .fontColor('#182431')
        .fontSize(30)
        .lineHeight(41)
        .fontWeight(700)
      Text('subtitle')
        .fontColor('#182431')
        .fontSize(14)
        .lineHeight(19)
        .opacity(0.4)
        .margin({ top: 2, bottom: 20 })
    }.alignItems(HorizontalAlign.Start)
  }

  @Builder NavigationMenus() {
    if (this.isShowMenu){
      Row() {
        Image($r('app.media.app_icon'))
          .width(24)
          .height(24)
        Image($r('app.media.app_icon'))
          .width(24)
          .height(24)
          .margin({ left: 24 })
        Image($r('app.media.app_icon'))
          .width(24)
          .height(24)
          .margin({ left: 24 })
      }
    }

  }

  build() {
    Column() {
      Navigation() {
        TextInput({ placeholder: 'search...' })
          .width('90%')
          .height(40)
          .backgroundColor('#FFFFFF')
          .margin({ top: 8 })

        List({ space: 12, initialIndex: 0 }) {
          ForEach(this.arr, (item: number) => {
            ListItem() {
              Text('' + item)
                .width('90%')
                .height(72)
                .backgroundColor('#FFFFFF')
                .borderRadius(24)
                .fontSize(16)
                .fontWeight(500)
                .textAlign(TextAlign.Center)
            }
            .onClick(()=>{
              //是否显示菜单栏
              this.isShowMenu = !this.isShowMenu
            })
          }, (item: number) => item.toString())
        }
        .height(324)
        .width('100%')
        .margin({ top: 12, left: '10%' })
      }
      .title(this.NavigationTitle())
      .menus(this.NavigationMenus())

      .titleMode(NavigationTitleMode.Full)
      .toolbarConfiguration([
        {
          value: '1',
          icon: $r("app.media.startIcon")
        },
        {
          value: '2',
          icon: $r("app.media.startIcon")
        },
        {
          value: '2',
          icon: $r("app.media.startIcon")
        }
      ])
      .hideTitleBar(true)//是否显示标题栏
      .hideToolBar(true)//设置隐藏工具栏
      .onTitleModeChange((titleModel: NavigationTitleMode) => {
        console.info('titleMode' + titleModel)
      })
    }.width('100%').height('100%').backgroundColor('#F1F3F5')
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
Navigation如何隐藏导航
2350浏览 • 1回复 待解决
HarmonyOS 标题栏动画
25浏览 • 1回复 待解决
怎样获取底部菜单栏高度
2102浏览 • 1回复 待解决
Navigation设置隐藏依然出现空白导航
1583浏览 • 1回复 待解决
DevEco Studio如何调出快捷工具栏
8218浏览 • 1回复 待解决
TAB菜单栏相关问题如何解决?
493浏览 • 1回复 待解决