HarmonyOS 在Flex中有多个Text时,如何实现压缩某个Text的宽度

HarmonyOS
7h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

可以使用flexShrink属性,配合textOverflow、wordBreak、maxLines,实现压缩Text的宽度和内容:

@Entry
@Component
struct AdaptiveText {
  build() {
    Flex({ direction: FlexDirection.Row }) {
      Text('flexShrink(2)flexShrink(2)flexShrink(2)')
        .flexShrink(2)
        .width(200)
        .height(100)
        .backgroundColor(0xF5DEB3)
        .textOverflow({ overflow: TextOverflow.Ellipsis })
        .wordBreak(WordBreak.BREAK_WORD)
        .maxLines(2)

      Text('no flexShrink')
        .width(200)
        .height(100)
        .backgroundColor(0xD2B48C)
        .textOverflow({ overflow: TextOverflow.Ellipsis })
        .wordBreak(WordBreak.BREAK_WORD)
        .maxLines(2)

      Text('flexShrink(6)flexShrink(6)flexShrink(6)')
        .flexShrink(6)
        .width(200)
        .height(100)
        .backgroundColor(0xF5DEB3)
        .textOverflow({ overflow: TextOverflow.Ellipsis })
        .wordBreak(WordBreak.BREAK_WORD)
        .maxLines(2)
    }.width("100%").height(120).padding(10).backgroundColor(0xAFEEEE)
  }
}
分享
微博
QQ
微信
回复
5h前
相关问题
HarmonyOS如何测量Text组件宽度
452浏览 • 1回复 待解决
获取文本Text组件宽度
502浏览 • 1回复 待解决
如何获取Text组件中文字宽度
2143浏览 • 1回复 待解决
Text文本过长如何实现上下滚动?
629浏览 • 1回复 待解决
HarmonyOS text组件如何实现部分圆角
2浏览 • 0回复 待解决
HarmonyOS Flex组件宽度问题
349浏览 • 1回复 待解决
Text如何实现删除线功能?
998浏览 • 1回复 待解决
HarmonyOS Text.textOverflow超长显示异常
574浏览 • 1回复 待解决
ArkTS实现Text文本【...展开】
1699浏览 • 2回复 待解决
Text多行展示如何设置行间距?
355浏览 • 1回复 待解决
Text设置maxLines使用Infinity报错
1824浏览 • 1回复 待解决
HarmonyOS Text两端对齐未实现
329浏览 • 1回复 待解决
text组件字体如何加粗?
242浏览 • 1回复 待解决