HarmonyOS 文字标题没有垂直居中对齐

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  @State buttonTest: string = '点击我到测试页面';

  build() {
    Column() {
      Row() {
        Row() {
          Text() {
            ImageSpan($r('app.media.ic_notice_top'))
              .width(36)
              .height(16)
              .verticalAlign(ImageSpanAlignment.CENTER)
              .margin({
                right: 8,
              })
            Span("测试标题")
              .fontSize(14)
              .fontColor('#0A0D19')
              .lineHeight(32)

            ImageSpan($r('app.media.ic_notice_new'))
              .width(36)
              .height(16)
              .margin({ left: 8 })
              .verticalAlign(ImageSpanAlignment.CENTER)
          }
          .backgroundColor(Color.Yellow)
        }
        // .margin({
        //   left: 6
        // })
        .layoutWeight(1)
        .alignItems(VerticalAlign.Center)
      }
      .alignItems(VerticalAlign.Top)
      .width('100%')

      Column() {
        // Text('发表时间:' + this.news.publishTime)
        //   .fontSize(12)
        //   .lineHeight(17)
        //   .fontColor('#41454B')
        //   .margin({ top: 4 })
        //   .padding({ left: 10, right: 10 })
        //   .width('100%')
        Divider()
          .height(1)
          .margin({
            // left: 10,
            // right: 10,
            top: 10,
            bottom: 14
          })
          .backgroundColor('#E1E1E1')
      }
      .width('100%')
    }
  }
}
  • 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.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
HarmonyOS
2024-12-24 17:51:48
967浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zxjiu

1、可以尝试设置ImageSpan的margin({top:topValue})到合适的位置

2、imageSpan设置属性.verticalAlign(ImageSpanAlignment.BASELINE),中间的Span设置baselineOffset,这样会好一点,两个image的位置跟着中间的span走。

示例参考:

import { LengthUnit } from '@ohos.arkui.node';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  @State buttonTest: string = '点击我到测试页面';

  build() {
    Column() {
      Row() {
        Text() {

          ImageSpan($r('app.media.ic_notice_top'))
            .width(36)
            .height(16)
            .verticalAlign(ImageSpanAlignment.CENTER)
            .margin({
              right: 8,
            })
            .verticalAlign(ImageSpanAlignment.BASELINE)
          Span("测试标题测试标题测试标测试标题测试标题测试标测试标题测试标题测试标测试标题测试标题测试标测试标题测试标题测试标")
            .fontSize(14)
            .fontColor('#0A0D19')// .lineHeight(20)
            .lineHeight(32)
            .baselineOffset({
              value: 8,
              unit: LengthUnit.PX
            })

          ImageSpan($r('app.media.ic_notice_new'))
            .width(36)// .height(16)
            .margin({ left: 8 })
            .verticalAlign(ImageSpanAlignment.CENTER)
            .verticalAlign(ImageSpanAlignment.BASELINE)
        }
        // .height(32)
        .backgroundColor(Color.Yellow)
      }

      .layoutWeight(1)
      .alignItems(VerticalAlign.Top)

    }
  }
}
  • 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.
  • 46.
分享
微博
QQ
微信
回复
2024-12-24 19:53:01
相关问题
画布绘制文字垂直居中
934浏览 • 1回复 待解决
HarmonyOS使用canvas如何使文字垂直居中
1415浏览 • 1回复 待解决
HarmonyOS Navigation标题居中,背景设置
1947浏览 • 1回复 待解决
HarmonyOS AlertDialog标题如何居中
410浏览 • 1回复 待解决
HarmonyOS 文字行高设定后文字居中
1020浏览 • 1回复 待解决
HarmonyOS 弹窗文字居中
417浏览 • 1回复 待解决
HarmonyOS Text多行文本不能居中对齐
1873浏览 • 1回复 待解决
Input组件是否支持设置文本居中对齐
2888浏览 • 1回复 待解决
Text文本不垂直居中,该怎么处理呢?
4809浏览 • 1回复 待解决
HarmonyOS 文字在Row中不居中
726浏览 • 1回复 待解决