RichText
富文本組件,解析并顯示HTML格式文本。
說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點(diǎn)擊或者復(fù)制轉(zhuǎn)到。
- 該組件從API Version 8開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
- 該組件無(wú)法根據(jù)內(nèi)容自適應(yīng)設(shè)置寬高屬性,需要開(kāi)發(fā)者設(shè)置顯示布局。
子組件
不包含子組件。
接口
RichText(content:string)
參數(shù):
參數(shù)名 | 參數(shù)類(lèi)型 | 必填 | 參數(shù)描述 |
---|---|---|---|
content | string | 是 | 表示HTML格式的字符串。 |
事件
名稱(chēng) | 描述 |
---|---|
onStart(callback: () => void) | 加載網(wǎng)頁(yè)時(shí)觸發(fā)。 |
onComplete(callback: () => void) | 網(wǎng)頁(yè)加載結(jié)束時(shí)觸發(fā)。 |
屬性
只支持[通用屬性]中width,height,size,layoutWeight四個(gè)屬性。由于padding,margin,constraintSize屬性使用時(shí)與通用屬性描述不符,暫不支持。
支持標(biāo)簽
名稱(chēng) | 描述 | 示例 |
---|---|---|
-- | 被用來(lái)定義HTML,定義重要等級(jí)最高的標(biāo)題,定義重要等級(jí)最低的標(biāo)題。 | 這是一個(gè)標(biāo)題這是h2標(biāo)題 |
定義段落。 | 這是一個(gè)段落 | |
插入一個(gè)簡(jiǎn)單的換行符。 | 這是一個(gè)段落這是換行段落 | |
規(guī)定文本的字體、字體尺寸、字體顏色。在標(biāo)簽中font size能夠設(shè)置的值只有1到7的數(shù)字,默認(rèn)值是3,由于標(biāo)簽在HTML 4.01中不建議使用,在XHTML1.0 Strict DTD中不支持,所以不建議使用此標(biāo)簽,請(qǐng)使用CSS代替。CSS語(yǔ)法: | 這是一段紅色字體。 | |
定義HTML頁(yè)面中的主題變化(比如話(huà)題的轉(zhuǎn)移),并顯示為一條水平線(xiàn)。 | 這個(gè)一個(gè)段落這是一個(gè)段落 | |
用來(lái)定義圖片。 | ||
常用于組合塊級(jí)元素,以便通過(guò)CSS來(lái)對(duì)這些元素進(jìn)行格式化。 | 這是一個(gè)在div元素中的標(biāo)題。 | |
定義與文本中其余部分不同的部分,并把這部分文本呈現(xiàn)為斜體文本。 | 這是一個(gè)斜體 | |
定義與常規(guī)文本風(fēng)格不同的文本,像拼寫(xiě)錯(cuò)誤的單詞或者漢語(yǔ)中的專(zhuān)有名詞,應(yīng)盡量避免使用為文本加下劃線(xiàn),用戶(hù)會(huì)把它混淆為一個(gè)超鏈接。 | 這是帶有下劃線(xiàn)的段落 | |
定義HTML文檔的樣式信息。 | h1{color:red;}p{color:blue;} | |
style | 屬性規(guī)定元素的行內(nèi)樣式,寫(xiě)在標(biāo)簽內(nèi)部,在使用的時(shí)候需用引號(hào)來(lái)進(jìn)行區(qū)分,并以; 間隔樣式,style='width: 500px;height: 500px;border: 1px soild;margin: 0 auto;'。(Android不支持style標(biāo)簽中的color屬性的十六進(jìn)制類(lèi)型) | 這是一個(gè)標(biāo)題這是一個(gè)段落。 |
用于定義客戶(hù)端腳本,比如JavaScript。 | document.write("Hello World!")HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
使用場(chǎng)景
RichText組件底層復(fù)用了Web組件來(lái)提供基礎(chǔ)能力,包括但不限于HTML頁(yè)面的解析、渲染等。但由于Web組件比較消耗資源,所以在一些重復(fù)使用RichText組件的場(chǎng)景下,比如在List下循環(huán)重復(fù)使用RichText時(shí),會(huì)出現(xiàn)卡頓、滑動(dòng)響應(yīng)慢等現(xiàn)象。
RichText使用Web提供基礎(chǔ)能力,同樣遵循Web約束條件。常見(jiàn)典型場(chǎng)景如下:
移動(dòng)設(shè)備的視口默認(rèn)值大小為980px,默認(rèn)值可以確保大部分網(wǎng)頁(yè)在移動(dòng)設(shè)備下可以正常瀏覽。如果RichText組件寬度低于這個(gè)值,content內(nèi)部的HTML則可能會(huì)生產(chǎn)一個(gè)可以滑動(dòng)的頁(yè)面被RichText組件包裹。如果想替換默認(rèn)值,可以在content中添加以下標(biāo)簽:
< meta name="viewport" content="width=device-width" >
示例
示例效果請(qǐng)以真機(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下劃線(xiàn)< /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)
}
}
}
-
HTML
+關(guān)注
關(guān)注
0文章
278瀏覽量
40923 -
組件
+關(guān)注
關(guān)注
1文章
529瀏覽量
18305 -
鴻蒙
+關(guān)注
關(guān)注
59文章
2525瀏覽量
43778
發(fā)布評(píng)論請(qǐng)先 登錄
HarmonyOS/OpenHarmony應(yīng)用開(kāi)發(fā)-ArkTS的聲明式開(kāi)發(fā)范式
鴻蒙ArkTS聲明式組件:Marquee

鴻蒙ArkTS聲明式組件:PatternLock

評(píng)論