HarmonyOS 富文本RichText显示问题?

app是刷题软件,问题的题干、选项、解析皆由于富文本组成,其中包括段落、图片、换行,字体等样式,使用richtext标签显示数据显示异常,这个高度一定要固定吗?能不能根据题目的多少自适应高度?

阅读 439
1 个回答

RichText无法做到自适应高度,可以通过使用web组件来代替。

代码如下:

Web({ src: '', controller: this.webController,renderMode: RenderMode.SYNC_RENDER })
  .margin(5)
  .onControllerAttached(() => {
    this.webController.loadData('<!DOCTYPE html>'+"<html><body style=\"background-color:#00FF00;font-size:60px;\">\n" +
    item.question+ "</body> </html>",
      "text/html",
      "UTF-8", " ", " ");
  })
  .layoutMode(WebLayoutMode.FIT_CONTENT)
  .javaScriptAccess(true)
  .width('100%')

同时使用lazyForEach加载,有一定提升数据刷新速率,但web创建数过多还是有点慢。创建的web组件数不要超过200,不要把题干,解析,选项都创建新web,把它们放一个web里面,减少web创建数量。加载速度问题建议一次性少创建点web。