33、鴻蒙/組件/文本顯示 (Text/Span)

Text是文本組件似袁,通常用于展示用戶視圖洞辣,如顯示文章的文字。具體用法請參考Text昙衅。

創(chuàng)建文本

  • string字符串
 Text('string文本')
  • 引用Resource資源
    資源引用類型可以通過$r創(chuàng)建Resource類型對象扬霜,文件位置為/resources/base/element/string.json;/resources/zh_CN/element/string.json 語言包里可重寫上面json文件
 Text($r('app.string.module_desc'))

添加子組件

Span只能作為TextRichEditor組件的子組件顯示文本內(nèi)容而涉≈浚可以在一個Text內(nèi)添加多個Span來顯示一段信息,例如產(chǎn)品說明書啼县、承諾書等材原。

  • 創(chuàng)建Span。
    Span組件需要寫到Text組件內(nèi)季眷,單獨(dú)寫Span組件不會顯示信息余蟹,Text與Span同時配置文本內(nèi)容時,Span內(nèi)容覆蓋Text內(nèi)容子刮。
Text('不會顯示的文本'){
        Span("文本")
}.backgroundColor(Color.Red)
  • 設(shè)置文本裝飾線及顏色客叉。
    通過decoration設(shè)置文本裝飾線及顏色。
Text(){
        Span('span1').decoration({
          type: TextDecorationType.LineThrough, // 刪除線
          color: Color.Red
        })
}
Text(){
        Span('span1').decoration({
          type: TextDecorationType.Underline, // 下劃線
          color: Color.Red
        })
}
Text(){
        Span('span1').decoration({
          type: TextDecorationType.Overline, // 上劃線
          color: Color.Red
        })
}
  • 通過textCase設(shè)置文字一直保持大寫或者小寫狀態(tài)话告。
Text(){
        Span("i am SM").textCase(TextCase.LowerCase) // 小寫
}
Text(){
        Span("i am SM").textCase(TextCase.UpperCase) // 大寫
}
  • 添加事件兼搏。
    由于Span組件無尺寸信息,事件僅支持添加點(diǎn)擊事件onClick沙郭。
 Text(){
        Span('點(diǎn)擊').onClick(()=>{
          console.log('點(diǎn)擊');
        })
}

自定義文本樣式

  • 通過textAlign屬性設(shè)置文本對齊樣式佛呻。
Text('左對齊').textAlign(TextAlign.Start).width(300).backgroundColor(Color.Red)
Text('居中對齊').textAlign(TextAlign.Center).width(300).backgroundColor(Color.Red)
Text('靠右對齊').textAlign(TextAlign.End).width(300).backgroundColor(Color.Red)
  • 通過textOverflow屬性控制文本超長處理,textOverflow需配合maxLines一起使用(默認(rèn)情況下文本自動折行)病线。
 Text('sdafasdfasdfasdfasdfasdfasdfasdfasdfasfdasdfsdafasdfasdfasdfasdfasdfasdfasdfasdfasfdasdfsdafasdfasdfasdfasdfasdfasdfasdfasdfasfdasdf')
.textOverflow({ overflow: TextOverflow.Ellipsis })
.maxLines(2)
  • 通過lineHeight屬性設(shè)置文本行高吓著。
Text('sdafasdfasdfasdfasdfasdfasdfasdfasdfasfdasdfsdafasdfasdfasdfasdfasdfasdfasdfasdfasfdasdfsdafasdfasdfasdfasdfasdfasdfasdfasdfasfdasdf')
.textOverflow({ overflow: TextOverflow.Ellipsis })
.maxLines(2)
.lineHeight(30)
  • 通過decoration屬性設(shè)置文本裝飾線樣式及其顏色鲤嫡。
Text('刪除線').decoration({
        type: TextDecorationType.LineThrough,
        color: Color.Red
})
Text('下劃線').decoration({
        type: TextDecorationType.Underline,
        color: Color.Red
})
Text('上劃線').decoration({
        type: TextDecorationType.Overline,
        color: Color.Red
})
  • 通過baselineOffset屬性設(shè)置文本基線的偏移量。
Text('This is the text content with baselineOffset 0.')
        .baselineOffset(-10)
        .fontSize(12)
        .border({ width: 1 })
        .padding(10)
        .width('100%')
        .margin(5)
  • 通過letterSpacing屬性設(shè)置文本字符間距绑莺。
 Text('sadfasdfaasdfas')
        .letterSpacing(10)
  • 通過copyOption屬性設(shè)置文本是否可復(fù)制粘貼暖眼。
Text('sadfasdfaasdfas')
        .letterSpacing(10)
        .copyOption(CopyOptions.InApp)

-- 添加事件

Text('sadfasdfaasdfas')
        .letterSpacing(10)
        .copyOption(CopyOptions.InApp)
        .onClick((e)=>{
          console.log('被點(diǎn)擊');
})
  • 添加邊框
Text('添加邊框')
        .border({
          width: 2,
          color: Color.Red,
          style: BorderStyle.Dotted
})
Text('添加左右邊框')
        .border({
          width: {
            left: 1,
            right: 2
          },
          color:{
            left:  Color.Red,
            right:  Color.Blue
          },
          style: {
            left: BorderStyle.Dotted,
            right: BorderStyle.Solid
          }
})
  • 設(shè)置圓角
 Text('圓角').border({
        color: Color.Red,
        style: BorderStyle.Solid,
        width: 1
}).width(100).textAlign(TextAlign.Center)
        .borderRadius(20)

Text('圓角').border({
        color: Color.Red,
        style: BorderStyle.Solid,
        width: 1
}).width(100).textAlign(TextAlign.Center)
        .borderRadius({
          topLeft: 10,
          bottomRight: 10
})

Text("圓形")
        .width(100).height(100)
        .border({
          color: Color.Red,
          style: BorderStyle.Solid,
          width: 1
}).textAlign(TextAlign.Center)
        .borderRadius(50)
  • 背景圖
 Text('背景圖')
        .width(100).height(100)
        .backgroundColor(Color.Red)
        .backgroundImage($r('app.media.app_icon'), ImageRepeat.NoRepeat)
        .backgroundImagePosition({
          x: 10,
          y: 20
})
// .backgroundImagePosition(Alignment.Center) // 居中
.backgroundImageSize(ImageSize.Contain)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者纺裁。
  • 序言:七十年代末诫肠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子欺缘,更是在濱河造成了極大的恐慌栋豫,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谚殊,死亡現(xiàn)場離奇詭異丧鸯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)嫩絮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門丛肢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剿干,你說我怎么就攤上這事摔踱。” “怎么了怨愤?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛹批。 經(jīng)常有香客問我撰洗,道長,這世上最難降的妖魔是什么腐芍? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任差导,我火速辦了婚禮,結(jié)果婚禮上猪勇,老公的妹妹穿的比我還像新娘设褐。我一直安慰自己,他們只是感情好泣刹,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布助析。 她就那樣靜靜地躺著,像睡著了一般椅您。 火紅的嫁衣襯著肌膚如雪外冀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天掀泳,我揣著相機(jī)與錄音雪隧,去河邊找鬼西轩。 笑死,一個胖子當(dāng)著我的面吹牛脑沿,可吹牛的內(nèi)容都是我干的藕畔。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼庄拇,長吁一口氣:“原來是場噩夢啊……” “哼注服!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丛忆,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤祠汇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后熄诡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體可很,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年凰浮,在試婚紗的時候發(fā)現(xiàn)自己被綠了我抠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡袜茧,死狀恐怖菜拓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情笛厦,我是刑警寧澤纳鼎,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站裳凸,受9級特大地震影響贱鄙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜姨谷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一逗宁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梦湘,春花似錦瞎颗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瓣颅,卻和暖如春管挟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弄捕。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工僻孝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留导帝,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓穿铆,卻偏偏與公主長得像您单,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子荞雏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容