HarmonyOS 鸿蒙Next的Text组件有类似安卓TextView中的android:lines的属性么

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next的Text组件有类似安卓TextView中的android:lines的属性么

android:lines="number":设置文本控件显示的固定行数。无论文本内容多少,控件都会按指定的行数显示,若文本行数不够,则会留出空白。

10 回复
设置一个maxline,然后在文字末尾填几个\n,

![图片](https://example.com/image.png)

更多关于HarmonyOS 鸿蒙Next的Text组件有类似安卓TextView中的android:lines的属性么的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


高度=n倍字高,同时设置textAlign,

该说不说,我选择了你这种方式,哈哈,

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

可以通过measure测量要显示文本和maxline文本对应的高度,对比两者高度,如果发现前者高度小于后者高度,就给前者文本末尾追加上’\n’,核心代码如下:

@State shorttitle: string = "这是一段文本";
titleWidth: number = 350;
MAX_LINES: number = 2;
fontSize: number = 16;

let titleSize: SizeOptions = measure.measureTextSize({
  textContent: this.shorttitle,
  constraintWidth: this.titleWidth,
  fontSize: this.fontSize
})
// 设置maxlines后文本的尺寸
let twoLineSize: SizeOptions = measure.measureTextSize({
  textContent: this.rawTitle,
  constraintWidth: this.titleWidth,
  fontSize: this.fontSize,
  maxLines: this.MAX_LINES
})
//文本未超过限制行数,不进行补齐处理
if ((titleSize.height as number) == (twoLineSize.height as number)) {
  return;
}
let clipTitle: string = this.shorttitle
//文本本身不满足最大行的高度,对文本进行补充
while ((titleSize.height as number) < (twoLineSize.height as number)) {
  clipTitle = clipTitle + '\n';
  titleSize = measure.measureTextSize({
    textContent: clipTitle + this.ellipsis,
    constraintWidth: this.titleWidth,
    fontSize: this.fontSize
  })
}
this.shorttitle = clipTitle;

可以设置maxLines,参考 maxLines

你们没认真看,maxLines不是我要的效果,我要的效果是比如指定了显示两行,那么哪怕文字只有一行,都会按两行的高度给到Text,

有个

maxLines

你们没认真看,maxLines不是我要的效果,我要的效果是比如指定了显示两行,那么哪怕文字只有一行,都会按两行的高度给到Text,

在HarmonyOS鸿蒙Next中,Text组件并没有直接提供一个与安卓TextView中android:lines属性完全对应的属性。在安卓中,android:lines属性用于设置TextView可以显示的最大行数,超过这个行数的文本将会以省略号等形式显示。

然而,在鸿蒙的Text组件中,你可以通过其他方式来实现类似的功能。例如,你可以使用maxLines属性来限制Text组件显示的最大行数。这个属性在鸿蒙的文本组件中通常用于控制文本的显示行数,当文本内容超过指定行数时,可以进行截断或滚动显示。

请注意,虽然maxLines属性在功能上可能与android:lines有所相似,但它们的实现方式和具体效果可能因平台差异而有所不同。因此,在使用时需要根据鸿蒙的开发文档和实际情况进行调整。

如果需要在鸿蒙Text组件中实现更复杂的文本显示逻辑(如自定义省略号样式、滚动效果等),可能需要结合使用其他组件或自定义组件来实现。

如果问题依旧没法解决请联系官网客服,官网地址是:

https://www.itying.com/category-93-b0.html

回到顶部