【关键字】
Text / 超长省略号 / 中间省略 / 头部省略 / 模式定义
【问题描述】
ArkTS的Text组件,超长省略号展示模式不支持中间省略与头部省略模式,是否有替代方案?
【解决方案】
使用Text的ellipsisMode属性可以实现。
示例代码:
@Entry
@Component
struct TextExample6 {
@State text: string = 'This is set ellipsisMode to EllipsisMode text content This is set ellipsisMode to EllipsisMode text content.'
@State ellipsisModeIndex: number = 0;
@State ellipsisMode: EllipsisMode[] = [EllipsisMode.START, EllipsisMode.CENTER, EllipsisMode.END]
@State ellipsisModeStr: string[] = ['START', 'CENTER', 'END']
build() {
Column() {
Text(this.text)
.fontSize(16)
.border({ width: 1 })
.lineHeight(20)
.maxLines(1)
.textOverflow({overflow:TextOverflow.Ellipsis})
.ellipsisMode(this.ellipsisMode[this.ellipsisModeIndex])
.width(300)
.margin({ left: 20, top: 20 })
Row() {
Button('更改省略号位置:' + this.ellipsisModeStr[this.ellipsisModeIndex]).onClick(() => {
this.ellipsisModeIndex++
if(this.ellipsisModeIndex > (this.ellipsisModeStr.length - 1)) {
this.ellipsisModeIndex = 0
}
})
}.margin({ top: 10 })
}
}
}