文档管理中心
|

DevEco Studio

HarmonyOS 5

两个自适应宽度的文本如何展示在一行?

采用弹性布局Flex(),设置其中的wrap属性为NoWrap,即不可换行,子元素尽可能约束在容器内

@Entry
@Component
struct Test {
  build() {
    Row() {
      Image($r('app.media.startIcon')).width(20).aspectRatio(1).margin({ top: 15 })
      Flex({ alignItems: ItemAlign.Center, justifyContent: FlexAlign.Start, wrap: FlexWrap.NoWrap }) {
        // Text(`13.49` + `稀土元素`) // 文字长度不能撑满屏幕时
        Text(`13.49` + `稀土元素稀土元素稀土元素稀土元素稀土元素稀土元素稀土元素稀土元素`)// 文本长度撑满屏幕时
          .maxLines(1)
          .maxFontSize(18)
          .minFontSize(1)
          .fontColor(Color.Red)
        Text(`  再度拉升走强` + `+4.55%  `)
          .maxLines(1)
          .maxFontSize(18)
          .minFontSize(1)
        Image($r('app.media.startIcon')).width(20).aspectRatio(1).id('ig1')
      }.layoutWeight(1).height(50).backgroundColor('#c0c0c0')
    }.width('100%').height('100%').alignItems(VerticalAlign.Top)
  }
}

效果:

(1)内容长度撑满屏幕宽度时:

cke_22744.png

(2)内容长度未撑满屏幕宽度时:

cke_53402.png

点赞
收藏
回复
分享
举报
浏览77 编辑于2025-07-24 06:51辽宁
全部评论
最多点赞
最新发布
最早发布
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。