HarmonyOS 类似Html.fromHtml将含有html标签的字符串转换成对应格式的文字显示在界面上

想要实现Html.fromHtml将含有html标签的字符串转换成对应格式的文字显示在界面,而不是像RichText一样直接展示Web页面

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

可以使用web组件实现,请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5

import web_webview from '@ohos.web.webview';
@Entry
@Component
struct RichTextExample {
  @State data: string = '<h1 style="text-align: center;">h1标题</h1>' +
    '<h1 style="text-align: center;"><i>h1斜体</i></h1>' +
    '<h1 style="text-align: center;"><u>h1下划线</u></h1>' +
    '<h2 style="text-align: center;">h2标题</h2>' +
    '<h3 style="text-align: center;">h3标题</h3>' +Android
    '<p style="text-align: center;">p常规</p><hr/>' +
    '<div style="width: 500px;height: 500px;border: 1px solid;margin: 0 auto;">' +
    '<p style="font-size: 35px;text-align: center;font-weight: bold; color: rgb(24,78,228)">字体大小35px,行高45px</p>' +
    '<p style="background-color: #e5e5e5;line-height: 45px;font-size: 35px;text-indent: 2em;">' +
    '<p>这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字</p>';
  controller: web_webview.WebviewController = new web_webview.WebviewController();

  build() {
    Column(){
      Web({ src: '', controller: this.controller })
        .onControllerAttached(() => {
          this.controller.loadData(`
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
<style>
html,body{padding:0px;margin:0px;} p{padding:0px;margin:0px;} div{padding:0px;margin:0px;} img{max-width: 100%; width:auto; height:auto!important;} div{font-size:16px}
</style>
</head>
<body>${this.data}</body>
</html>`, "text/html", "UTF-8")
        })
    }
  }
}

高度自适应需设置web组件属性.layoutMode(WebLayoutMode.FIT_CONTENT)

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#layoutmode11

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 类似Html.fromHtml()API
384浏览 • 1回复 待解决
如何文件转换成字符串
437浏览 • 1回复 待解决
HarmonyOS 如何支持html格式字符串
189浏览 • 1回复 待解决
HarmonyOS将对象转换成字符串方法
613浏览 • 1回复 待解决
HarmonyOS List上展示html字符串
402浏览 • 1回复 待解决
HarmonyOS json转换成对
54浏览 • 2回复 待解决
HarmonyOS 加密字符串格式转换
71浏览 • 1回复 待解决
HarmonyOS Web组件如何加载html字符串
662浏览 • 1回复 待解决
PixelMap类型怎么转换成Base64字符串
661浏览 • 1回复 待解决
HarmonyOS web组件怎么加载html字符串
35浏览 • 1回复 待解决
Web如何使用loadData加载复杂Html字符串
2374浏览 • 1回复 待解决
List上展示服务端下发HTML字符串
250浏览 • 1回复 待解决
HarmonyOS 如何汉字转换成拼音
49浏览 • 1回复 待解决
Text怎么显示html标签文本
4417浏览 • 1回复 待解决