RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙ArkTS聲明式組件:【RichText】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-29 09:35 ? 次閱讀

RichText

富文本組件,解析并顯示HTML格式文本。

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點(diǎn)擊或者復(fù)制轉(zhuǎn)到。

  • 該組件從API Version 8開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
  • 該組件無法根據(jù)內(nèi)容自適應(yīng)設(shè)置寬高屬性,需要開發(fā)者設(shè)置顯示布局。

子組件

不包含子組件。

接口

RichText(content:string)

參數(shù):

參數(shù)名參數(shù)類型必填參數(shù)描述
contentstring表示HTML格式的字符串。

事件

名稱描述
onStart(callback: () => void)加載網(wǎng)頁時觸發(fā)。
onComplete(callback: () => void)網(wǎng)頁加載結(jié)束時觸發(fā)。

屬性

只支持[通用屬性]中width,height,size,layoutWeight四個屬性。由于padding,margin,constraintSize屬性使用時與通用屬性描述不符,暫不支持。

支持標(biāo)簽

名稱描述示例
--被用來定義HTML,定義重要等級最高的標(biāo)題,定義重要等級最低的標(biāo)題。這是一個標(biāo)題這是h2標(biāo)題
定義段落。這是一個段落
插入一個簡單的換行符。這是一個段落這是換行段落
規(guī)定文本的字體、字體尺寸、字體顏色。在標(biāo)簽中font size能夠設(shè)置的值只有1到7的數(shù)字,默認(rèn)值是3,由于標(biāo)簽在HTML 4.01中不建議使用,在XHTML1.0 Strict DTD中不支持,所以不建議使用此標(biāo)簽,請使用CSS代替。CSS語法:這是一段紅色字體。
定義HTML頁面中的主題變化(比如話題的轉(zhuǎn)移),并顯示為一條水平線。這個一個段落這是一個段落
用來定義圖片。
常用于組合塊級元素,以便通過CSS來對這些元素進(jìn)行格式化。這是一個在div元素中的標(biāo)題。
定義與文本中其余部分不同的部分,并把這部分文本呈現(xiàn)為斜體文本。這是一個斜體
定義與常規(guī)文本風(fēng)格不同的文本,像拼寫錯誤的單詞或者漢語中的專有名詞,應(yīng)盡量避免使用為文本加下劃線,用戶會把它混淆為一個超鏈接。這是帶有下劃線的段落
定義HTML文檔的樣式信息h1{color:red;}p{color:blue;}
style屬性規(guī)定元素的行內(nèi)樣式,寫在標(biāo)簽內(nèi)部,在使用的時候需用引號來進(jìn)行區(qū)分,并以; 間隔樣式,style='width: 500px;height: 500px;border: 1px soild;margin: 0 auto;'。(Android不支持style標(biāo)簽中的color屬性的十六進(jìn)制類型)這是一個標(biāo)題這是一個段落。
用于定義客戶端腳本,比如JavaScript。document.write("Hello World!")HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

搜狗高速瀏覽器截圖20240326151450.png

使用場景

RichText組件底層復(fù)用了Web組件來提供基礎(chǔ)能力,包括但不限于HTML頁面的解析、渲染等。但由于Web組件比較消耗資源,所以在一些重復(fù)使用RichText組件的場景下,比如在List下循環(huán)重復(fù)使用RichText時,會出現(xiàn)卡頓、滑動響應(yīng)慢等現(xiàn)象。

RichText使用Web提供基礎(chǔ)能力,同樣遵循Web約束條件。常見典型場景如下:

移動設(shè)備的視口默認(rèn)值大小為980px,默認(rèn)值可以確保大部分網(wǎng)頁在移動設(shè)備下可以正常瀏覽。如果RichText組件寬度低于這個值,content內(nèi)部的HTML則可能會生產(chǎn)一個可以滑動的頁面被RichText組件包裹。如果想替換默認(rèn)值,可以在content中添加以下標(biāo)簽:

< meta name="viewport" content="width=device-width" >

示例

示例效果請以真機(jī)運(yùn)行為準(zhǔn),當(dāng)前IDE預(yù)覽器不支持。

// xxx.ets
@Entry
@Component
struct RichTextExample {
  @State data: string = '< h1 style="text-align: center;" >h1標(biāo)題< /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標(biāo)題< /h2 >' +
    '< h3 style="text-align: center;" >h3標(biāo)題< /h3 >' +
    '< p style="text-align: center;" >p常規(guī)< /p >< hr/ >' +
    '' +
    '< 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 >這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字< /p >';

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center,
      justifyContent: FlexAlign.Center }) {
      RichText(this.data)
        .onStart(() = > {
          console.info('RichText onStart');
        })
        .onComplete(() = > {
          console.info('RichText onComplete');
        })
        .width(500)
        .height(500)
        .backgroundColor(0XBDDB69)
      RichText('layoutWeight(1)')
        .onStart(() = > {
          console.info('RichText onStart');
        })
        .onComplete(() = > {
          console.info('RichText onComplete');
        })
        .size({ width: '100%', height: 110 })
        .backgroundColor(0X92D6CC)
      RichText('layoutWeight(2)')
        .onStart(() = > {
          console.info('RichText onStart');
        })
        .onComplete(() = > {
          console.info('RichText onComplete');
        })
        .size({ width: '100%', height: 110 })
        .backgroundColor(0X92C48D)
    }
  }
}

richText

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • HTML
    +關(guān)注

    關(guān)注

    0

    文章

    278

    瀏覽量

    35205
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    512

    瀏覽量

    17813
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2339

    瀏覽量

    42805
收藏 人收藏

    評論

    相關(guān)推薦

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS聲明開發(fā)范式

    軌跡。狀態(tài)與數(shù)據(jù)管理狀態(tài)數(shù)據(jù)管理作為基于ArkTS聲明開發(fā)范式的特色,通過功能不同的裝飾器給開發(fā)者提供了清晰的頁面更新渲染流程和管道。狀態(tài)管理包括UI組件狀態(tài)和應(yīng)用程序狀態(tài),兩者協(xié)
    發(fā)表于 01-17 15:09

    鴻蒙ArkTS聲明組件:Blank

    空白填充組件,在容器主軸方向上,空白填充組件具有自動填充容器空余部分的能力。僅當(dāng)父組件為Row/Column/Flex時生效。
    的頭像 發(fā)表于 06-19 16:21 ?548次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:Blank

    鴻蒙ArkTS聲明組件:Checkbox

    提供多選框組件,通常用于某選項(xiàng)的打開或關(guān)閉。
    的頭像 發(fā)表于 06-20 15:36 ?613次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:Checkbox

    鴻蒙ArkTS聲明組件:DataPanel

    數(shù)據(jù)面板組件,用于將多個數(shù)據(jù)占比情況使用占比圖進(jìn)行展示。
    的頭像 發(fā)表于 06-21 09:42 ?402次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:DataPanel

    鴻蒙ArkTS聲明組件:Marquee

    跑馬燈組件,用于滾動展示一段單行文本。僅當(dāng)文本內(nèi)容寬度超過跑馬燈組件寬度時滾動,不超過時不滾動。
    的頭像 發(fā)表于 06-25 15:52 ?418次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:Marquee

    鴻蒙ArkTS聲明組件:NavDestination

    作為NavRouter組件的子組件,用于顯示導(dǎo)航內(nèi)容區(qū)。
    的頭像 發(fā)表于 06-27 14:05 ?485次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:NavDestination

    鴻蒙ArkTS聲明組件:PatternLock

    圖案密碼鎖組件,以九宮格圖案的方式輸入密碼,用于密碼驗(yàn)證場景。手指在PatternLock組件區(qū)域按下時開始進(jìn)入輸入狀態(tài),手指離開屏幕時結(jié)束輸入狀態(tài)完成密碼輸入。
    的頭像 發(fā)表于 06-27 09:59 ?454次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:PatternLock

    鴻蒙ArkTS聲明組件:ScrollBar

    滾動條組件ScrollBar,用于配合可滾動組件使用,如List、Grid、Scroll。
    的頭像 發(fā)表于 07-01 15:52 ?515次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:ScrollBar

    鴻蒙ArkTS聲明組件:Span

    作為Text組件的子組件,用于顯示行內(nèi)文本的組件。
    的頭像 發(fā)表于 07-01 09:14 ?454次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:Span

    鴻蒙ArkTS聲明組件:StepperItem

    用作[Stepper]組件的頁面子組件。
    的頭像 發(fā)表于 07-02 17:47 ?404次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:StepperItem

    鴻蒙ArkTS聲明組件:TextArea

    多行文本輸入框組件,當(dāng)輸入的文本內(nèi)容超過組件寬度時會自動換行顯示。
    的頭像 發(fā)表于 07-02 15:02 ?665次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:TextArea

    鴻蒙ArkTS聲明組件:TextInput

    單行文本輸入框組件
    的頭像 發(fā)表于 07-03 09:14 ?946次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:TextInput

    鴻蒙ArkTS聲明組件:TextPicker

    滑動選擇文本內(nèi)容的組件
    的頭像 發(fā)表于 07-03 15:07 ?467次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:TextPicker

    鴻蒙ArkTS聲明組件:TextTimer

    通過文本顯示計時信息并控制其計時器狀態(tài)的組件。
    的頭像 發(fā)表于 07-03 17:06 ?500次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:TextTimer

    鴻蒙ArkTS聲明組件:XComponent

    可用于EGL/OpenGLES和媒體數(shù)據(jù)寫入,并顯示在XComponent組件
    的頭像 發(fā)表于 07-05 09:56 ?675次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:XComponent
    RM新时代网站-首页