HarmonyOS 如何把背景色中的文字放在垂直居中的位置

下面demo的文字好像往下掉了一点,相对于背景色而言,如何把背景色中的文字放在垂直居中的位置

@Entry
@Component
struct Index {
  build() {
    Column(){
      Text() {
        ContainerSpan() {
          // ImageSpan($r('app.media.point')).width(12).height(12).margin({left:4, right:4}).verticalAlign(ImageSpanAlignment.CENTER)
          Span('唯品国际')
            .fontSize(11)
            .fontWeight(FontWeight.Medium)
            .fontColor(Color.White)
          // .baselineOffset(LengthMetrics.vp(1))
          Span(' ')
        }.textBackgroundStyle({color:0x5E36D9, radius:4})
        Span(' ')
        ContainerSpan() {
          Span(' ')
          Span('包税').fontSize(11).fontWeight(FontWeight.Medium).fontColor(Color.White)
          Span(' ')
        }.textBackgroundStyle({color:0x5E36D9, radius:4})
        Span(' ')
        // Span(this.viewModel.productTitle())
      }.fontSize(16).fontWeight(FontWeight.Medium).fontColor(0x1B1B1B).lineHeight(22)
    }
    .width('100%')
    .height('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.
HarmonyOS
2024-12-25 12:23:57
721浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

出现demo的文字好像往下掉了一点的原因是Span(' ')默认的fontSize是16,设置11会导致下掉的情况。

可以参考下面这个demo。

// xxx.ets
@Component
@Entry
struct Index {
  build() {
    Column() {
      Text() {
        ContainerSpan() {
          ImageSpan($r('app.media.app_icon'))
            .width('40vp')
            .height('40vp')
            .verticalAlign(ImageSpanAlignment.CENTER)
          Span(' Hello World ! ').fontSize('16fp').fontColor(Color.White)
        }.textBackgroundStyle({color: "#7F007DFF", radius: "12vp"})
      }
    }.width('100%').alignItems(HorizontalAlign.Center)
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

参考文档:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-containerspan.md#textbackgroundstyle%E5%AF%B9%E8%B1%A1%E8%AF%B4%E6%98%8E

分享
微博
QQ
微信
回复
2024-12-25 14:32:18
相关问题
如何设置窗口背景色
2599浏览 • 1回复 待解决
如何设置WebView背景色
1635浏览 • 1回复 待解决
HarmonyOS Select组件背景色如何设置
595浏览 • 1回复 待解决
HarmonyOS 如何设置渐变背景色
2265浏览 • 1回复 待解决
HarmonyOS 关于开屏背景色
600浏览 • 1回复 待解决
HarmonyOS 弹窗自带背景色
512浏览 • 1回复 待解决
画布绘制文字垂直居中
939浏览 • 1回复 待解决
Button组件如何设置渐变背景色
3745浏览 • 1回复 待解决
TextInput按压态背景色如何修改
3262浏览 • 1回复 待解决
HarmonyOS使用canvas如何使文字垂直居中
1415浏览 • 1回复 待解决
如何设置背景色饱和度和亮度?
941浏览 • 1回复 待解决
HarmonyOS 文字标题没有垂直居中对齐
604浏览 • 1回复 待解决