HarmonyOS 鸿蒙Next Navigation title 居中,只显示一行

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Navigation title 居中,只显示一行

.title(this.title) .titleMode(NavigationTitleMode.Mini)

如何让title居中、最多显示一样,自定义文字的样式

2 回复

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

@Builder NavigationTitle() { Column() { Row() { 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.Center) .width(‘100%’) }

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)
        }
      }, (item: number) => item.toString())
    }
    .height(324)
    .width('100%')
    .margin({ top: 12, left: '10%' })
  }
  .title(this.NavigationTitle)
  //.menus(this.NavigationMenus)
  .titleMode(NavigationTitleMode.Full)
  .toolbarConfiguration([
    {
      value: $r("app.string.module_desc"),
      icon: $r("app.media.startIcon")
    },
    {
      value: $r("app.string.module_desc"),
      icon: $r("app.media.startIcon")
    },
    {
      value: $r("app.string.module_desc"),
      icon: $r("app.media.startIcon")
    }
  ])
  .hideTitleBar(false)
  .hideToolBar(false)
  .onTitleModeChange((titleModel: NavigationTitleMode) => {
    console.info('titleMode' + titleModel)
  })
}.width('100%').height('100%').backgroundColor('#F1F3F5')

} }

目前title只是文本的话,没有属性设置居中一行展示等,这个目前只能自定义Builder来实现

更多关于HarmonyOS 鸿蒙Next Navigation title 居中,只显示一行的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,若要实现Next Navigation title居中显示且只显示一行,可以通过修改对应的XML布局文件及样式来实现。以下是一个简要的实现方法:

  1. XML布局文件: 在布局文件中,为Navigation组件设置相关的布局属性。例如,使用LinearLayoutRelativeLayout来包裹Navigation组件,并设置相应的布局参数以确保title居中。

  2. 样式与属性: 利用鸿蒙提供的样式和属性来控制title的显示。可以通过设置singleLine="true"来限制title只显示一行。同时,利用gravity="center"layout_gravity="center"来确保title在父容器中居中显示。

  3. 代码示例:

    <DirectionalLayout
        ohos:width="match_parent"
        ohos:height="wrap_content"
        ohos:orientation="vertical"
        ohos:gravity="center">
        <Text
            ohos:id="$+id:navigation_title"
            ohos:width="match_parent"
            ohos:height="wrap_content"
            ohos:text="Next Navigation Title"
            ohos:singleLine="true"
            ohos:gravity="center"
            ohos:text_size="18fp"/>
    </DirectionalLayout>
    

    注意:实际使用中,可能需要根据具体的组件和布局需求调整代码。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部